每次安装docker的时候都是重新找一遍资料,然后还出现各式各样的问题。所以这次记录下来,每次需要安装的时候再回来看看。
1.卸载旧版
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2.下载安装时需要的软件包
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
3.下载地址
官方源地址(比较慢)
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
阿里云
$ sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装之前可以选择清空一下缓存yum makecache fast
4.安装最新版
$ sudo yum install docker-ce docker-ce-cli containerd.io
如果提示秘钥则选择是
5.启动docker
systemctl start docker
输入这个命令的时候可能会出现:Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.
这个错误通过百度使用了很多解决方案,但是都失败了
可以通过systemctl status docker.service来查看docker的错误日志
后来我发现出现上述错误的原因是因为没有关闭防火墙:systemctl stop firewalld
永久关闭防火墙命令systemctl disable firewalld.service
关闭防火墙之后docker version命令查看就正常了
docker run hello-world
说明安装成功
6.卸载docker
1.卸载依赖
yum remove docker-ce docker-ce-cli containerd.io
2.删除资源
rm -rf /var/lib/docker
# /var/lib/docker docker的默认工作路径
7.阿里云镜像加速
1.找到阿里云镜像容器服务
2.找到镜像加速器
1.sudo mkdir -p /etc/docker
2.sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://5c4vjlo7.mirror.aliyuncs.com"]
}
EOF
3.sudo systemctl daemon-reload
4.sudo systemctl restart docker