我正在部署一个nginx实例。 dockerfile以及nginx配置数据和Web应用程序都在我的git存储库中。对我来说,这似乎是有道理的,这是一个git仓库:应用程序以及如何部署它。在Dockerfile我想说的(这是简化了一点,但问题是,我不能)将git存储库添加到docker镜像(工作流最佳实践)
COPY web-app /serving
COPY docker/site-conf /etc/nginx/sites-enabled/
在那里我有这样的目录结构:
my-git-root
web-app
...
docker
Dockerfile
build.sh
site-conf
的问题,至少在部分,码头的上下文是my-git-root/docker /。
本着不可变服务的精神,我希望容器拥有git存储库的快照,而不是容器中的apt-get install'ing git并将数据拉出。但是我没有看到如何做这个工作,除非我把Docker的东西分离出来放到一个单独的git仓库中,然后在每一个版本上克隆web应用程序 - 我宁愿不让任何人试图在生活中勉强接受容器。
关于更理智的工作流程的建议?
是“将dockerfile移动到git repo的根目录”; “将web应用程序安装为音量”为-1。这不是“不变的服务精神”。 – Bryan 2014-12-05 17:40:40