如何设置docker镜像以从存储库中动态提取应用程序代码?

时间:2016-03-08 22:28:06

标签: docker docker-compose dockerfile

我目前正在使用docker cloud。我试图找到一个开发到生产工作流程,使用docker和docker compose为同一类型的多个应用程序提取应用程序代码,但只是简单地更改每个应用程序来源。我理解安装卷的概念,但所有示例都显示了与dockerfile和docker compose文件在同一个repo中的源代码。 example。我希望此示例中的应用程序代码来自远程动态仓库。我会在docker镜像中设置一个环境变量吗?如果是这样的话? 任何示例或工作流示例的链接都表示赞赏。

2 个答案:

答案 0 :(得分:1)

如果做得好,代码"烘焙"到Docker镜像应该是不可变的,在运行时唯一应该改变的是环境变量等可配置参数(例如设置应用程序将监听的端口)。

理想情况下,您应该将代码烘焙到图像中。否则,您首先会失去使用Docker的许多好处。

答案 1 :(得分:0)

问题是......

..您的使用案例与最佳做法不符。您希望图像中没有嵌入任何代码,而是在每次更新时获取。如果您浏览the docker hub,您会找到名为 service:version 许多图片。这是Docker的优势之一,提供相同服务的不同版本。如果您希望始终获得最新的代码,那么您的工作流程可能会有一些不足之处。

一种解决方案可能是

Webhooks,特别是如果您的代码在GH上版本化的话。或continuous integration的任何工具。