如何将httpd apache配置引入docker容器:作为映像还是作为卷装载?

1l5u6lss  于 2023-04-20  发布在  Docker
关注(0)|答案(1)|浏览(118)

我经常遇到这样的情况,不清楚配置是应该包含在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配置是不同的。

cnjp1d6j

cnjp1d6j1#

这两个选项都是有效的,我通常使用卷来挂载它。如果我需要对文件进行更改,我宁愿在主机上进行更改,重新启动容器并提交我的更改,而不是在容器和主机上进行更改,以便我可以将它们提交到存储库。

相关问题