Docker git clone在容器启动时?

AJB*_*AJB 5 git docker

我目前的理解是Docker在执行RUN git clone期间执行任何命令docker build,因此我的应用程序的代码库被"烘焙"到Docker镜像中.

如何git clone在容器启动时运行?

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

我的想法是,每次我对我的git回购进行任何更改时,我都不想要提升我的Docker图像版本.

Jav*_*oso 5

常见的设计模式是在Docker镜像构建过程中克隆和编译项目.此外,您可以将映像配置为Docker Automated Build,它在Docker文档中定义为:

自动构建是Docker Hub的一项特殊功能,允许您使用Docker Hub的构建集群自动从指定的Dockerfile和GitHub或Bitbucket存储库(或"上下文")创建映像.系统将克隆您的存储库并使用存储库作为上下文构建Dockerfile描述的映像.然后,生成的自动图像将上载到Docker Hub注册表并标记为自动构建.

每当您在指向的仓库的分支中执行提交(和推送)时,自动构建就会启动.如果它经常被触发,也许你应该指向其他分支.

无论如何,如果您选择在运行新容器时运行git clone,则可以CMD ["my-script"]使用您希望的代码将任何bash脚本作为my-script 配置您的Dockerfile .