我使用官方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
谢谢
答案 0 :(得分:2)
它没有缓存。将文件复制到容器图像后(使用COPY
指令),从主机修改文件将无效 - 它是一个不同的文件。
您已尝试使用-v
参数docker run
从主机绑定装载卷来覆盖该文件。这将有效 - 您现在将在主机和容器上使用相同的文件,除非您输入了拼写错误 - 它应该是/usr
而不是/user
。
答案 1 :(得分:1)
只需在nginx.conf文件中修改sendfile即可。