如何在使用Docker运行Nginx时禁用Nginxcaching

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

我只看到改变,如果我重build我的形象。

这是我的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 

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

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

谢谢

这不是缓存。 一旦文件被复制到一个容器图像(使用COPY指令),从主机修改它将不起作用 – 这是一个不同的文件。

您试图通过使用-v参数将主机上的卷绑定到docker run来覆盖文件。 这将起作用 – 现在你将在主机和容器上使用相同的文件,除了你犯了一个错字 – 它应该是/usr not /user

只要在nginx.conf文件中修改sendfile就可以了。