我经常遇到这样的情况,不清楚配置是应该包含在docker镜像中,还是只是共享到挂载的卷中。
如下所示,我想将我的服务器配置共享到httpd apache2
容器中。配置本身一旦运行就几乎没有机会了。是直接将配置包含到映像中更好,还是从主机将其作为卷挂载共享?Dockerfile
:
FROM httpd:2.4
...
COPY server.conf /usr/local/apache2/conf/sites/server.conf
...
docker-compose.yml
:
services:
apache:
image: httpd:2.4
ports:
- 80:80
volumes:
- server.conf:/usr/local/apache2/conf/sites/server.conf:ro
两者都是有效的:通常情况下,是只有一个映像更好(因此按卷共享配置),还是拥有包含不同配置的多个映像更好?
特别是关于通常你至少有一个test
和一个production
配置是不同的。
1条答案
按热度按时间cnjp1d6j1#
这两个选项都是有效的,我通常使用卷来挂载它。如果我需要对文件进行更改,我宁愿在主机上进行更改,重新启动容器并提交我的更改,而不是在容器和主机上进行更改,以便我可以将它们提交到存储库。