我正在使用包含这些行的 Dockerfile 在 Docker 容器中(在 Linux VM 中)运行 bind9。
COPY configuration/named.conf /var/lib/bind/
COPY configuration/tzzz.yo.zone /var/lib/bind/
COPY configuration/10.168.192.in-addr.arpa /var/lib/bind/
COPY configuration/named.conf.options /var/lib/bind/
效果很好。没有抱怨。没有遗憾……除了每当我需要更改 DNS 记录时,我都需要构建新映像。对于需要频繁更新配置文件的应用程序,哪个选项最好,卷还是挂载?性能不是问题。我正在尝试简化更改过程。
或者也许我应该在构建图像时创建卷,然后在运行时绑定安装它们。可能。
我还没有很好地从心理上将 Dockerfile 的构建和配置与基于镜像运行容器的语法区分开来。
答案1
分离配置和代码。
配置应该放在卷中。图像应该一般的考虑动态更新的情况——如果这些更新被写入图像,它们将在图像升级时丢失。