Docker图像是
不变的
;一旦创建了一个图像,就不能再更改它。
创建图像的正确方法是使用
docker build
. Docker有一个很好的
official tutorial on creating and running custom images
;虽然它是面向Python的,但是这里的基本技术适用于任何语言。
使用
docker commit
几乎总是错的。Dockerfile只是一个基本的步骤列表,用于构建图像开始
FROM
一些基础图像,
COPY
在一些文件中,
RUN
有些命令和编写dockerfile通常和编写文本图像的步骤一样容易。您还需要与其他人一起处理需要此描述的图像,因此,当您开始使用的基础图像在六个月内有一个关键的安全修复时,您需要记住如何构建它。
我通常发现的工作流程是:
-
在本地构建和测试我的应用程序,
没有码头工人参与
.
-
编写一个构建我的应用程序的dockerfile,其中不包含任何开发或测试工具。检查一下
docker run
就地手动测试。将dockerfile添加到我的源代码管理存储库中。
-
(可选,但推荐)设置一个持续集成服务器和Docker注册表,以便在每次提交时,在本地单元测试通过后,构建一个新映像,并
docker push
预计起飞时间。
是的,这会导致旧图像备份,但这并不真正有害。你可以使用
docker system prune
把它们清理干净。