我使用官方的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就可以了。