首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >强制删除停靠器映像如何影响使用它的现有容器

强制删除停靠器映像如何影响使用它的现有容器
EN

Stack Overflow用户
提问于 2016-11-06 10:19:20
回答 1查看 1.3K关注 0票数 1

当我试图通过具有现有容器的docker rmi删除图像时,我会收到一条错误消息。(正常)

当我添加强制标志docker rmi -f时,图像被删除,当我使用docker ps -a检查容器状态时,容器仍然存在,但是图像名变成了ID。

我的问题是,这个身份证是从哪里来的?它是保存在缓存中并用于现有容器中的映像的副本吗?因为当我检查docker images时,我会发现一个在回购和名称中的映像,它的ID是新受旧的现有容器影响的映像。

下面的另一个问题是:一旦创建了容器,对现有(本地)映像上的任何更改是否会以任何方式影响现有容器?

谢谢。

EN

Stack Overflow用户

回答已采纳

发布于 2016-11-22 14:57:00

一个对接者图像有一个名称和一个图像ID。这个博客描述图像ID从预停靠库-v1.10开始到它之后的位置。

如果您对一个正在运行的容器使用的图像执行坞rmi -f映像,则实际上不是删除真实的映像,而是删除图像上的名称和标记。

因此,实际上,docker ps将展示:

代码语言:javascript
运行
复制
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                 NAMES
578e28246977        96931e4c66bd        "/bin/tini -- /usr/lo"   3 minutes ago       Up 3 minutes        8080/tcp, 50000/tcp   drunk_shannon

但是docker images仍然在展示你的形象:

代码语言:javascript
运行
复制
<none>                          <none>              96931e4c66bd        6 weeks ago         711.9 MB

只是没贴上标签。删除此容器后,图像也不会被删除。图像保留在列表中。您可以使用docker run -d 96931e4c66bd (通过使用ID)从它启动新容器。

你甚至可以说:

代码语言:javascript
运行
复制
docker tag 96931e4c66bd my-jenkins:1.0

docker images显示的要好:

代码语言:javascript
运行
复制
my-jenkins                      1.0                 96931e4c66bd        6 weeks ago         711.9 MB

下面的另一个问题是:一旦创建了容器,对现有(本地)映像上的任何更改是否会以任何方式影响现有容器?

不,当您对映像(同名)进行“更新”时,正在运行的容器可能会丢失它的映像名(只有一个ID,就像在容器运行期间删除图像时一样)。您需要使用新映像(更新后将有另一个图像ID)重新执行run命令,以便从最新的映像中运行容器。

票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40448210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档