如何设置Docker镜像以从存储库dynamic提取应用程序代码?

目前我正在使用docker云。 我试图找出一个开发到生产工作stream使用docker与docker组成拉动相同types的多个应用程序的应用程序代码,但只是简单地更改每个从哪个库中拉出。 我理解装入卷的概念,但是所有示例都显示了与dockerfile和docker组合文件相同的repo中的源代码。 例如 。 我想从这个例子的应用程序代码来自一个远程,dynamic回购。 我会在Docker镜像中设置一个环境variables吗? 如果这样怎么样? 任何示例或链接到工作stream程的例子表示赞赏。

如果做得对,代码“烘焙”到Docker镜像应该是不可变的,运行时唯一应该改变的是可configuration的参数,比如环境variables(例如设置应用程序将要监听的端口)。

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

问题是..

你的用例与最佳实践不符。 你想要一个没有embedded任何代码的图像,而是在每次更新时获取。 如果您浏览docker中心,您会发现许多名为service: image的图像。 这是Docker的好处之一,提供同一服务的不同版本。 如果您想要始终获得最新的代码,那么您的工作stream程可能会存在一些缺陷。

一个解决scheme可能是

Webhooks ,特别是如果你的代码是在GH版本 。 或者任何持续集成的工具。