当dockerfile更改时Docker更新映像

Rom*_*cea 63 docker

我正在Dockerfile使用一些nodejs指令创建一个docker.现在,每次我对dockerfile进行更改时,我都会通过sudo docker build -t nodejstest .在我的项目文件夹中运行来重新创建图像,但是每次都会创建一个新图像并很快吞下我的ssd.

我有没有办法在更改dockerfile时更新现有图像,或者每次更改文件时都被迫创建一个新图像?

对不起,如果这是一个愚蠢的问题

cre*_*ack 45

只要没有ADD指令,Docker就会构建支持缓存.如果您正在积极开发和更改文件,则只会ADD重建之后的内容.

从0.6.2(今天安排)开始,您可以执行docker build --rm .并删除临时容器.它会保留图像.

为了删除孤立图像,您可以使用它们进行检查docker images,然后执行docker rmi <id>其中一个.截至目前,有一个自动修剪和所有未标记的图像(孤儿,以前的版本)将被删除.

  • 这个答案应该用`--rm`更新; 它仍然是"码头更新图像"谷歌搜索的最佳答案之一. (3认同)
  • 警告:'-rm'已弃用,很快就会被'--rm'取代. (2认同)

Rez*_*a S 15

根据这个最佳实践指南,如果你保持dockerfile的第一行相同,它也会缓存它们并重用相同的图像以备将来构建

  • 这是我喜欢Docker的东西! (2认同)