如何在未配置的 Docker 上为 centos 7 删除/安装 docker 映像

Posted

技术标签:

【中文标题】如何在未配置的 Docker 上为 centos 7 删除/安装 docker 映像【英文标题】:How to remove/install a docker image on an unconfigured Docker for centos 7 【发布时间】:2015-09-17 09:20:57 【问题描述】:

使用 Centos 6.6 和 7 并决定迁移到 centos 7,因为在使用 docker 和 centos 6.6 时存在一些问题(对我来说是重启问题),并且我正在尝试从 docker 中提取当前的 centos 映像。 (应该只是docker pull centos

但是,因为我已经在 6.6 虚拟机上安装了 centos 的 docker 映像,我认为它与我试图在 centos 7 上拉取的那个冲突。它指出该映像 (f1b某些东西)已在系统上使用,导致下载无法通过。只需转到 centos 6.6 并尝试删除图像(顺便将其标记为无,因此您必须执行docker images -a),即使使用武力也无济于事。到目前为止,唯一的解决方案是完全删除 docker 及其依赖项,然后重新安装它应该是免费的。

当然,这不是我想要的解决方案。可能会发生两种情况之一。一种使它们共存的方法,或者一种在不删除任何其他当前图像的情况下删除当前图像的方法。或者,如果我没有做到这一点,请采取完全不同的方法。

EDIT+1:好的,这是我在执行 docker pull 时收到的实际错误...

f1b...: download complete
f1b...:error downloading dependant layers
c85...:Downloading [>
7322...: Error pulling image (latest) from docker.io/centos, endpoint :https://registry-1.docker.io/v1,Dr
7322...:Error pulling image (latest) from docker.io/centos, Driver devicemapper failed to create image rootfs
FATA[0012] Error pulling image (latest) from docker.io/centos, Driver device mapper failed to create image rootfs f1b...:error running DeviceCreate (createSnapDevice) dm_task_run failed

查看问题,我不太确定是不是因为我最初认为的 centos 6.6,尽管共享相同的 ID。

编辑+2:奇怪的是致命错误代码不断变化(我假设那些是FATA [0012]?)

【问题讨论】:

或者更好的是,从 centos 6.6 守护进程拉取 centos 镜像 可能是证书问题? 另一个可疑的事情是系统日志消息,那里不断重复... Thin Centos-docker 现在 100% 已满。在 lvmetad 中查找 VG centos 的请求通过对等卷组 "centos" 给出了响应连接休息 未找到未能扩展瘦 centos-docker--pool 无论如何... 系统中的某些东西会阻止图像的外展吗? 好吧,所以在 centos 6.6 上拉图像仍然可以工作......可能是基于被拉的容器是单独的还是什么? 【参考方案1】:

http://docker-sean.readthedocs.org/en/latest/chapter1.html

有一个配置文件需要为 centos 7 docker 用户更改,恰好应用了以下更改 OPTIONS='-g /docker/data -p /var/run/docker.pid'

/etc/sysconfig/docker的vim/vi文件中。

我发誓 docker 会成为我的死神......

编辑 +1:好的,让我们从新的 centos 7 机器开始将解决方案重新映射到以下内容...

yum install docker
service docker start
docker pull centos

错误

systemctl enable docker.service

错误?

sudo systemctl enable docker.service
systemctl start docker.service

错误?

yum remove docker
yum install epel-release.noarch
yum install docker-io
vim /etc/sysconfig/docker
OPTIONS='-g /docker/data -p /var/run/docker.pid'
service docker restart
docker pull centos

如果我正确映射它,这就是我如何让 docker 在新 VM 上工作。 我可能使用的命令之一是thin_check。有人用它来验证这个link中的docker

编辑+2:

哦,哇,这可以更好地解释这里发生的事情。看,docker 服务器可以直接用 centos 7 安装,但是 daemon 仍然必须从 epel 安装。提醒一下,守护进程是实际运行 docker 服务的项目。服务器只允许 docker 连接到互联网并查看其存储库。链接是对的here。

【讨论】:

即使这样也有一些更可疑的东西。尝试在一个新的虚拟机上重新创建,但解决方案路径不完全完成......需要回顾我昨天的步骤 我曾多次使用此设置路径,但没有失败。

以上是关于如何在未配置的 Docker 上为 centos 7 删除/安装 docker 映像的主要内容,如果未能解决你的问题,请参考以下文章

如何在主机上为 docker-compose.yml 中的命名卷设置路径

如何在 docker 容器中运行 grails-vue 配置文件?

CentOS7.4在digitalocean上为新建用户利用Putty使用免密登录

如何在 CentOS 7 上安装 Docker

如何在Windows上为Google云平台添加docker-registry secret(就是在PowerShell中,不是Bash)?

如何在 CentOS 7 上安装 Docker