如何在使用Docker运行Nginx时禁用Nginx缓存

时间:2015-02-02 08:04:25

标签: caching nginx docker

我使用官方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

谢谢

2 个答案:

答案 0 :(得分:2)

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

您已尝试使用-v参数docker run从主机绑定装载卷来覆盖该文件。这将有效 - 您现在将在主机和容器上使用相同的文件,除非您输入了拼写错误 - 它应该是/usr而不是/user

答案 1 :(得分:1)

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