Propgate从基本图像变为" child"图像,Docker

时间:2015-07-28 20:18:43

标签: linux docker parent-child propagation image-file

我正在使用docker,我想知道是否有可能将更改传播给孩子"基本图像的图像。以下一系列行动应该有助于更明确地说明我的意思。

docker run -i -t baseimage               // start up baseimage

<detach while leaving baseimage running>

docker commit <baseimage id> childimage  // new image created from baseimage

docker run -i -t baseimage               // start up baseimage

touch test.txt                           // make some small change

<detach while leaving baseimage running>

docker commit <baseimage id> baseimage   // save base image

docker run -i -t childimage              // start up childimage

ls test.text                             // test.txt isn't there

我想要这样做的原因是我有一个基本图像,我从中创建了几个子图像。只有在我创建了子图像之后,才意识到我需要在所有这些图像中安装java。对我来说,以某种方式将java安装到基本映像并将其传播到&#34; children&#34;,而不是遍历每个子映像并安装java会更容易。

我承认我是码头工的新手,所以这样的事情可能吗?如果没有,您将如何一次性修改具有相同更改的多个图像?那可能吗?感谢。

2 个答案:

答案 0 :(得分:3)

运行docker容器与它们在&#34;&#34;实例中创建的图像有关。方式类型。意思是你不能传播&#34;想要改变的方式。 最好使用Dockerfile来描述如何构建docker镜像,而不是手动修改正在运行的容器。

答案 1 :(得分:1)

没有

容器是短暂的,你扔掉它们然后重新开始而不是试图修补它们。

而是使用Dockerfile为容器创建图像。如果要进行更改,请更新Dockerfile并使用新版本替换旧容器。