精神仓库加料

Docker 拉取镜像失败问题整理

记录下,使用docker拉取镜像遇到的问题,后续在遇到大家避坑

Docker 拉取镜像出现 missing signature key

说明:Centos带的docker是之前的版本,支撑的功能很少,很多的镜像是拉取不下来的。这时候需要下载新的docker,现在在维护的docker,社区版本是docker-ce,企业版本是docker-ee。由于默认CentOS自带的是早期的版本的docker,所以yum默认也是下旧的docker。

解决方案

# 停止正在运行的docker
systemctl stop docker

# 卸载旧版docker
yum -y remove docker
yum -y remove docker-client
yum -y remove docker-common

#或者
yum -y remove docker*

#安装新版的docker  docker-ce
yum -y install yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum -y install docker-ce

#启动docker
systemctl start docker

# 进行拉取镜像的操作
docker pull Nginx

升级docker或者docker到docker-ce完全保留镜像和容器,不影响原容器使用方法

升级docker或者docker到docker-ce完全保留镜像和容器,不影响原容器使用方法

说明:如果原有已经很多的镜像,产生了很多的容器,现在因下载某个镜像出现问题,那么可以通过覆盖新安装的docker-ce的镜像和容器目录和修改部分参数达到效果

解决方案

# 停止正在运行的docker
systemctl stop docker

#把旧版的docker目录改一下名称。
mv /var/lib/docker /var/lib/docker-bak

# 卸载旧版docker
yum -y remove docker
yum -y remove docker-client
yum -y remove docker-common

#或者
yum -y remove docker*

#安装新版的docker  docker-ce
yum -y install yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum -y install docker-ce

#切记:不要启动docker!!
#安装完docker-ce后,系统会创建新的docker目录,删除新的,如何把备份的改回docker名称。切记:不要启动docker!!
rm -rf /var/lib/docker
mv /var/lib/docker-bak /var/lib/docker

#启动docker
systemctl start docker

# 这个时候展示容器列表已经存在了
docker ps -a

# 然后重启容器
docker restart 容器id

# 注意这时候会报错,因为新版docker 和旧版docker 运行时找的文件文件名不一样,所以还要修改下容器启动的文件名
grep -rl 'docker-runc' /var/lib/docker/containers/ | xargs sed -i 's/docker-runc/runc/g'

# 最后在进行重启docker就可以了
systemctl restart docker

目前这个旧版的docker所产生的的容器已经被迁移到新的docker里面了,可以正常是永不改变原来的文件

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值