通过将结果组合成新图像来构建Docker镜像。为什么?

时间:2016-05-04 12:22:00

标签: node.js docker docker-compose

构建代码存储库总是会产生新的图像,而它应该替换/更新现有的图像。 如何在源文件中进行更改后重建相同的图像, 我正在通过命令构建容器图像。


    $docker-compose up --build

响应如下:


vagrant@vagrant-ubuntu-trusty-64:/var/lib$ docker images
REPOSITORY     TAG        IMAGE ID            CREATED             SIZE
nodeapi_www   latest     74378f9c5de5        5 seconds ago       684.3 MB
none          none       d358efc16f16        About an hour ago   684.3 MB
node          4.4.1      4e2e99ae7d3e        5 weeks ago         643.8 MB

这里的图像是webapp图像,在我运行docker-compose up --build命令之前。之后我在图像列表中得到一个孤儿图像。

1 个答案:

答案 0 :(得分:0)

由于docker工作方式的性质,如果你进行任何更改,你将需要一个新的图像,因为图像不像容器那样改变。

在进行构建时尝试执行以下操作,并查看是否有助于删除较旧的图像。

foreach ( $resArray as $res )
{
     $pdf->addPDF($fileFolder . rtrim($res["file"], ","));
}

如果您不想拥有这么多图像,请查看使用卷,以便更改的项目在卷中,并且每次更改其中一个文件时都不需要重建。

要查看此示例,请查看https://docs.docker.com/compose/django/它不是node.js,但想法是一样的。