1、卸载旧版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2、安装必要的依赖
yum install -y yum-utils
#网上另一种目前使用的上面那个
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
3、设置docker仓库
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
上面失败因为国内访问不到docker官方镜像的缘故
可以通过aliyun的源来完成:
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4、安装docker
yum install -y docker-ce docker-ce-cli containerd.io
注意:如果报错(目前没有)可能是阿里的镜像库文件也指向docker官方库,所以需要修改库文件
vim /etc/yum.repos.d/docker-ce.repo
通过命令把https://download-stage.docker.com替换为http://mirrors.aliyun.com/docker-ce
命令如下::%s#https://download-stage.docker.com#http://mirrors.aliyun.com/docker-ce#g
5、启动docker
systemctl start docker #运⾏Docker守护进程
systemctl stop docker #停⽌Docker守护进程
systemctl restart docker #重启Docker守护进程
6、验证docker:
docker run hello-world
如果出现以下异常:
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
9bb5a5d4561a: Pulling fs layer
docker: error pulling image configuration: Get https://dseasb33srnrn.cloudfront.net/registry-v2/docker/registry/v2/blobs/sha256/e3/e38bc07ac18e
See 'docker run --help'.
此错误也是网络问题:出现这个问题原因为国内网络问题,无法连接到 docker hub。
配置阿里云的docker镜像库。
重启docker服务:
systemctl daemon-reload
systemctl restart docker
7、设置docker开机启动
systemctl enable docker
附:设置docker 阿里云加速
登录阿里云控制台,进入容器镜像服务,在左侧导航栏中选择“加速器”,可以得到镜像加速器地址,比如,得到的阿里云加速器地址为:https://xxxx.mirror.aliyuncs.com
在 /etc/docker 目录下创建一个 daemon.json 文件
{
"registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"]
}
EOF
重新加载 systemd 配置
systemctl daemon-reload
重启 docker 服务
systemctl restart docker