官方脚本自动安装

操作系统CentOS 7.x最新版本,Linux内核版本必须是3.10以上

yum -y update
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

## 如果是arm,建议从 https://download.docker.com/linux/static/stable/aarch64/ 下载静态文件,同时安装  yum install containerd 


#开机启动docker
systemctl start docker
systemctl enable docker

版本校验

docker version

修改镜像地址(非必需,国内加速)

修改 /etc/docker/daemon.json 文件,如果没有就创建

文件内容如下:

{
"registry-mirrors": ["https://xuachqgw.mirror.aliyuncs.com"],
"insecure-registries": ["10.98.239.102:5000"],
"bip":"172.17.0.1/16",
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver":"json-file",
"log-opts":{"max-size":"10m"}
}

注意:如果k8s的coredns出现No such device or address错误,去掉native.cgroupdriver=systemd
参考:https://github.com/kubernetes/kubernetes/issues/98006

阿里云的地址可以到阿里云开发者中心自己申请
https://xuachqgw.mirror.aliyuncs.com

下载redis镜像

https://hub.docker.com 中搜索 redis 镜像

打开redis镜像页面https://hub.docker.com/_/redis

docker pull redis:7.2.4

7.2.4是标签,不带标签默认是latest最新版本,执行之后镜像文件就下载到docker本地了

查看镜像

  • 查看所有镜像,重点关注IMAGE ID,后面操作都会用到
    docker image ls -a

  • 只查看redis镜像,重点关注IMAGE ID,后面操作都会用到
    docker images redis

  • 查看所有的容器和镜像状态docker ps -a

安装redis镜像

docker run -d --name myredis --restart=always -p 6379:6379 -v $PWD/data:/data redis:4.0 redis-server --appendonly yes

另一种方式,指定配置文件,完全控制,更加灵活,建议使用

docker run -d --name myredis --restart=always -p 6379:6379 -v /redis/6379/redis.conf:/usr/local/etc/redis/redis.conf redis:4.0 redis-server /usr/local/etc/redis/redis.conf

命令说明:

  • -d :后台运行
  • --name myredis:容器的名称,可忽略
  • -m 1g:容器运行的最大内存,可忽略
  • --privileged=true:特权模式,容器具有最大权限,可忽略
  • --network代替--link,用于多个容器网络联通.network需要先创建,然后使用,例如:
docker network create -d bridge --subnet=192.168.0.0/24
--gateway=192.168.0.100 --ip-range=192.168.0.0/24 my-docker-network

docker run --network=my-docker-network --ip=192.168.0.5 -itd --restart=always

是一直尝试重启.实现开机重启容器,--restart=on-failure:10 默认重启10次

  • -p 6379:6379 :将主机的6379端口映射到容器的6379端口,redis容器默认就是6379,第一个是主机端口

  • -v $PWD/data:/data :将主机中当前目录下的data挂载到容器的/data,可以同时使用多个 -v 参数
    另一种方式:-v /redis/6379/redis.conf:/usr/local/etc/redis/redis.conf 指定配置文件redis-server --appendonly yes :在容器执行redis-server启动命令,并打开redis持久化配置

常用命令

通过Image镜像产生容器,一个镜像可以产生多个容器实例.image镜像雷同软件一键安装包,例如redis的一键安装包
执行了run命令,会自动启动,这里是单独启动
启动容器:docker start 539ffc1ce3b3
关闭容器:docker stop 539ffc1ce3b3
更新容器配置 例如设置开机重启:
docker update --restart=always xxx
删除镜像:docker rmi 镜像Id
删除镜像前需要停止引用的镜像的容器.
删除容器:docker rm 容器Id
跟踪日志输出:docker logs -f 容器Id
建议大家看一些docker常用命令的文章.

执行容器内命令

# docker exec -it 容器Id 命令 
# 例如执行redis的 redis-cli命令:  
docker exec -it 539ffc1ce3b3 redis-cli  
# 或者执行容器内shell原始命令
docker exec -it 539ffc1ce3b3 /bin/bash