【问题标题】:How to disable Nginx caching when running Nginx using Docker使用 Docker 运行 Nginx 时如何禁用 Nginx 缓存
【发布时间】:2015-02-02 08:04:25
【问题描述】:

我使用官方的 nginx docker 镜像(https://registry.hub.docker.com/_/nginx/)。当我修改 Index.html 时,我看不到我的更改。在 nginx.conf 中设置 sendfile off 没有帮助。

如果我重建我的图像,我只会看到变化。

这是我的 Dockerfile:

FROM nginx
COPY . /usr/share/nginx/html
COPY nginx/nginx.conf /etc/nginx/nginx.conf
COPY nginx/default.conf /etc/nginx/conf.d/default.conf

这就是我用来构建和运行它的命令:

docker build -t some-nginx .
docker run --name app1 -p 80:80 -v $(pwd):/user/share/nginx/html -d some-nginx

谢谢

【问题讨论】:

    标签: caching nginx docker


    【解决方案1】:

    它不是缓存。一旦文件被复制到容器镜像中(使用 COPY 指令),从主机修改它将没有效果 - 它是一个不同的文件。

    您试图通过使用-v 参数从主机绑定挂载卷来覆盖文件docker run。这将起作用 - 您现在将在主机和容器上使用相同的文件,除非您打错了 - 它应该是 /usr 而不是 /user

    【讨论】:

    • 我想我什至不需要 COPY 命令。谢谢你!如何将您的答案标记为正确?
    • 不,如果您使用卷,则不需要 COPY 命令。但它确实允许您分发映像的工作版本 - 您可以在开发时使用卷,然后重建映像以使用最新代码发布。我的答案旁边应该有一个勾号,你可以点击接受,IIRC。
    • 我在底部看到“分享”和“编辑”,仅此而已。可能我积分不够。
    • @user3538553 左边的点下面应该有一个勾号。不过不用担心 :)
    • 很抱歉,我认为我的问题对于打开新问题页面并不重要。我错了 :) 顺便说一句——我发现了问题,描述了我的问题——github.com/nginxinc/docker-nginx/issues/24。也许它会对某人有所帮助。
    【解决方案2】:

    只需在nginx.conf文件中修改sendfile off即可。

    【讨论】:

      猜你喜欢
      • 2013-09-14
      • 2021-12-28
      • 1970-01-01
      • 1970-01-01
      • 2019-08-29
      • 1970-01-01
      • 2017-02-15
      • 2019-06-05
      • 2017-12-01
      相关资源
      最近更新 更多