gpt4 book ai didi

nginx - 如何在容器运行期间可以覆盖的图像中包含默认文件?

转载 作者:行者123 更新时间:2023-12-02 19:37:34 25 4
gpt4 key购买 nike

在容器运行期间,如何拥有可以用-v选项(或其他方式)覆盖的默认配置文件(在构建过程中复制到镜像)?

详细信息:

想象一下我在Dockerfile中有以下指令:

COPY nginx.conf /etc/nginx/nginx.conf
VOLUME ["/etc/nginx/nginx.conf"]

如果没有指定(单个文件)卷,我希望nginx使用复制的nginx.conf-像默认配置一样,总是在镜像中。
而且,如果我指定了体积-容器将使用提供的配置文件,而不是复制到镜像。

因此,主要思想是拥有我可以覆盖的默认配置。

当然,以下解决方案不起作用,并且会给出错误。但是,也许您知道如何实现类似的行为?

最佳答案

如果您从VOLUME中删除Dockerfile部分,它应该可以工作。然后,您可以在运行容器时覆盖默认配置文件。

因此,在您的Dockerfile中,只需输入以下内容:

COPY nginx.conf /etc/nginx/nginx.conf

然后,当您运行容器时,将配置更改映射到本地文件中:
docker run -v ./nginx.conf:/etc/nginx/nginx.conf:ro ...

这将允许您提供默认配置,但也可以在需要时覆盖它。

关于nginx - 如何在容器运行期间可以覆盖的图像中包含默认文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42910474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com