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

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

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

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

谢谢

最佳答案 它不是缓存.将文件复制到容器映像(使用COPY指令)后,从主机修改它将不起作用 – 它是一个不同的文件.

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

点赞