在使用docker 拉取mariadb和redis镜像的时候,先后出现no such host/network is unreachable/卡死等问题,刚开始以为是网络不稳定造成,所以试了很多方法,比如使用修改docker配置,换国内镜像,重装docker,重启docker等方法都无法解决我的问题,最终发现我的问题是由docker版本造成的。
出现问题的版本为:23.0.1(最新版)
最终指定的版本为:20.10.21,之所以选它完全是因为之前用过
解决步骤:
1.卸载原有docker
# 卸载docker依赖
yum remove docker-ce docker-ce-cli containerd.io
# 删除docker工作路径
rm -rf /var/lib/docker
# 确保旧版本都卸载干净
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2. 查看yum源支持的docker版本
yum list docker-ce --showduplicates | sort -r
3.重新安装指定版本的docker
# 安装docker依赖包
yum install -y yum-utils
# 设置镜像
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 缓存镜像源信息以提高搜索安装速度
yum makecache fast
# 安装docker指定版本
yum install docker-ce-20.10.21-3.el7 -y
# 启动docker
systemctl start docker
4. 重新docker 拉取
docker pull 需要的镜像
至此,问题解决!