Docker开发工作流程

时间:2015-09-20 00:08:00

标签: python django deployment docker workflow

在Docker容器中运行的代码的正确开发工作流程是什么?

Solomon Hykes said“官方”工作流程涉及为每个Git提交构建和运行新的Docker镜像。这是有道理的,但是如果我想在将其更改为Git repo之前测试一下该怎么办?

我可以想到两种方法:

  1. 在本地开发服务器(例如,Django开发服务器)上运行代码。编辑文件;在开发服务器上测试;做一个Git提交;使用新代码重建Docker镜像;再次在本地Docker容器上测试。

  2. 不要运行本地开发服务器。相反,每次编辑文件时都构建并运行一个新的Docker镜像,然后在本地Docker容器上测试更改。

  3. 这两种方法效率都很低。还有更好的方法吗?

1 个答案:

答案 0 :(得分:3)

更有效的方法是从构建的最新图像(然后具有最新代码)运行新容器。

您可以启动该容器启动bash shell,以便您可以从容器内编辑文件:

docker run -it <some image> bash -l

然后,您将在该容器中运行该应用程序以测试新代码。

另一种改变容器中文件的方法是用卷启动它。我们的想法是改变docker主机上目录中的文件,而不是从容器本身的命令行中弄乱文件:

docker run -it -v /home/joe/tmp:/data <some image>

您将在Docker主机上放入/home/joe/tmp的任何文件都将在容器中的/data/下提供。将/data更改为适合您案例的任何路径,并将其删除。