原文链接:使用国内链接安装最新docker
最近dockerhub已经不能访问了,使用原先的方式安装docker,服务器上也总是连接不上,所以找了种可以在国内正常安装新版docker的方式
适用系统:centos7
- 先删除本机旧的或者残留的docker
sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine
- 安装依赖
sudo yum update -y && sudo yum install -y yum-utils \device-mapper-persistent-data \lvm2
- 配置镜像源
到这一步需要注意了,以前使用的很多都是这个https://download.docker.com/linux/centos/docker-ce.repo,现在需要换成国内的
执行如下命令:
# 阿里源
yum-config-manager \--add-repo \http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# or
# 清华源
yum-config-manager \--add-repo \https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
- 安装
yum install docker-ce docker-ce-cli containerd.io
另外,如果想安装特定版本
# 查看版本
yum list docker-ce --showduplicates | sort -r# 选择版本安装 例如docker-ce-19.03.14
yum install docker-ce-<版本号> docker-ce-cli-<版本号> containerd.io
- 验证docker
docker --version
- 启动并设置开机启动
systemctl start docker
systemctl enable --now docker
7.最后
正常到这里已经安装完成了,但是如果是为了kubernetes使用的话,最好在修改docker cgroup驱动,与k8s一致,使用systemd
# 修改docker cgroup驱动:native.cgroupdriver=systemd
cat > /etc/docker/daemon.json <<EOF
{"exec-opts": ["native.cgroupdriver=systemd"],"log-driver": "json-file","log-opts": {"max-size": "100m"},"storage-driver": "overlay2","storage-opts": ["overlay2.override_kernel_check=true"]
}
EOF# 重启使配置生效
systemctl restart docker
亲测有效:
但是拉取hello-world镜像出现connection refused问题
需要修改镜像源:
参考文档:Docker拉取镜像失败?connect: connection refused
1、编辑镜像源文件
vim /etc/docker/daemon.json
2、修改daemon.json
先按i进入编辑(o等其他键也可以)
{"registry-mirrors":["https://6kx4zyno.mirror.aliyuncs.com"]
}
3、保存退出
先按esc,然后:wq
保存并退出
4、重新加载服务
systemctl daemon-reload
5、重新启动Docker
systemctl restart docker
6、查看docker镜像源是否改变
docker info
修改镜像源并重启后,再次拉取成功: