Docker:我应该在哪里放置容器配置和war文件

时间:2015-06-30 00:16:41

标签: docker

最近我试图找出一个docker工作流程的样子。

我认为,开发人员应该在本地推送图像,而在其他环境中,服务器应该直接拉动该图像并运行它。

但是我可以看到许多公共图像允许人们将配置放在容器外面。

例如,在官方elasticsearch图片中,有一个命令如下:

docker run -d -v "$PWD/config":/usr/share/elasticsearch/config elasticsearch

那么将配置放在容器外面而不是快速运行本地容器有什么意义呢?

我的论点是

  1. 如果我将配置放在自定义映像中,在测试环境或生产环境中,服务器只需要拉出已经构建的相同映像。
  2. 如果我将配置放在图像之外,在其他环境中,将会有另一个进程从某个地方获取该配置。当然,我们可以使用git来获取控制权,但这是一项繁琐而无用的工作来管理它吗?并且还需要安装第三方库。
  3. 进一步的问题:

    我应该将应用程序文件(例如,war文件)放在Web服务器容器内还是外面?

1 个答案:

答案 0 :(得分:0)

当您进行开发时,配置文件可能会经常更改;所以,不要继续重建容器,而是使用

如果您处于生产并且需要数十个或数百个相同的容器,所有配置文件略有不同,则很容易拥有一个单个图像并且具有多样性生活在外面的配置文件(例如使用consul,etcd,zookeeper,......或VOLUME)。