Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
强制删除docker映像如何影响使用它的现有容器_Docker - Fatal编程技术网

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

强制删除docker映像如何影响使用它的现有容器,docker,Docker,当我试图通过docker rmi删除具有现有容器的图像时,会收到一条错误消息。(正常) 当我添加强制标志docker rmi-f时,图像被删除,当我使用docker ps-a检查容器状态时,容器仍然存在,但图像名称成为ID 我的问题是,这个身份证是从哪里来的?它是保存在缓存中并用于现有容器的图像的副本吗?原因是,当我检查docker images时,我发现一个名称为in repo的图像,其ID是新受旧现有容器影响的图像 另一个问题如下: 创建容器后,更改现有(本地)图像上的任何内容是否会以任何方

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

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

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

另一个问题如下: 创建容器后,更改现有(本地)图像上的任何内容是否会以任何方式影响现有容器


谢谢。

docker映像具有名称和映像ID。这描述了映像ID在pre-docker-v1.10及其后的提交位置

如果对正在运行的容器使用的图像执行docker rmi-f图像,那么实际上并不是删除真实图像,而是删除图像上的名称和标记

因此,
docker ps
确实会显示:

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
仍在显示您的图像:

<none>                          <none>              96931e4c66bd        6 weeks ago         711.9 MB
而docker图像则显示:

my-jenkins                      1.0                 96931e4c66bd        6 weeks ago         711.9 MB
接下来的另一个问题是:一旦创建了容器 更改现有(本地)映像上以任何方式影响的任何内容 现有的集装箱

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

docker映像具有名称和映像ID。这描述了映像ID在pre-docker-v1.10及其后的提交位置

如果对正在运行的容器使用的图像执行docker rmi-f图像,那么实际上并不是删除真实图像,而是删除图像上的名称和标记

因此,
docker ps
确实会显示:

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
仍在显示您的图像:

<none>                          <none>              96931e4c66bd        6 weeks ago         711.9 MB
而docker图像则显示:

my-jenkins                      1.0                 96931e4c66bd        6 weeks ago         711.9 MB
接下来的另一个问题是:一旦创建了容器 更改现有(本地)映像上以任何方式影响的任何内容 现有的集装箱

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

这证实了我的想法。谢谢。这证实了我的想法。谢谢