繁体   English   中英

通过compose构建Docker映像,将结果转换为新映像。 为什么?

[英]Building a Docker Image via compose results into a new image. why?

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

$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

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

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

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

$ docker-compose up --build --remove-orphans

如果您不希望有太多图像,请考虑使用卷,以便要更改的项目都在卷中,并且无需在每次更改其中一个文件时都进行重建。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM