2014-12-31 129 views
5

我目前的理解是,Docker在docker build期间执行任何RUN git clone命令,因此我的应用的代码库被“烘焙”到Docker映像中。容器启动时的Docker git clone?

容器启动时我该如何运行git clone

或者这被认为是不好的做法和反模式?

这个想法是我不希望每次修改我的git回购库时都不得不提高我的Docker映像版本。

回答

5

常见的设计模式是克隆和编译Docker镜像构建过程中的项目。另外,你可以配置你的图像作为Docker Automated Build,这是码头工人文档中定义:

自动构建是码头工人枢纽的特殊功能,它允许您 使用泊坞枢纽的构建集群自动创建影像 指定的Dockerfile和GitHub或Bitbucket回购(或“上下文”)。 系统将克隆您的存储库并使用存储库作为上下文构建由Dockerfile描述的图像 。然后将得到的 自动图像上传到Docker Hub注册表,并将 标记为自动构建。

自动构建随时会在您指向的回购的分支中执行提交(和推送)时启动。如果太频繁触发,也许你应该指向其他分支。无论如何,如果您选择在运行新容器时运行git克隆,则可以使用CMD ["my-script"]来配置Dockerfile,这是我的脚本,任何带有您希望的代码的bash脚本。

+0

这正是我所需要的。谢谢你的提示! – AJB

+0

这对于大型代码库+长结帐阶段是如何工作的?我们现在有一个VMWare从站,它执行SVN更新。使用码头工具,您将从头开始创建新的码头图像+完整结帐? – RvdK