Docker-index.html Nginx文件的共享无效
我的docker-compose.yml文件如下:Docker-index.html Nginx文件的共享无效,nginx,docker,docker-compose,Nginx,Docker,Docker Compose,我的docker-compose.yml文件如下: web: image: nginx:latest volumes: - /c/Users/marcin/docker/nginx-www/nginx/html/:/usr/share/nginx/html/ ports: - "80:80" 在/c/Users/marcin/docker/nginx www/nginx/html/中,我创建了index.html文件,其中包含以下内容: 你好索引 但当我查看我
web:
image: nginx:latest
volumes:
- /c/Users/marcin/docker/nginx-www/nginx/html/:/usr/share/nginx/html/
ports:
- "80:80"
在/c/Users/marcin/docker/nginx www/nginx/html/
中,我创建了index.html
文件,其中包含以下内容:
你好索引
但当我查看我的域时,我会看到空页面,但查看页面源时,我会看到如下内容:
欢迎来到nginx!
Docker似乎正在使用默认的Nginx文件,并且只获取了其中的一部分(可能是我的
index.html
文件中的确切长度。对于其他文件,例如abc.html
,没有这样的问题(可能是因为它在Nginx图像中默认不存在)。如何解决此问题以显示index.html
文件的正确内容?当您的卷以/c/…
开头时,我假设您使用的是Windows上的Docker工具箱及其附带的Docker machine
工具。您正在体验的是Nginx(或者说Nginx使用的sendfile
Linux系统调用)与Virtualbox共享文件夹结合使用
在(也使用VirtualBox)中也提到了这个问题,它还提供了一个可能适合您的建议解决方案:
存在与sendfile相关的VirtualBox错误,可能导致文件损坏或不更新。您应该在正在运行的任何web服务器中停用sendfile
在Nginx中:
sendfile off;
在Apache中:
EnableSendfile Off
根据中的最新评论,如果您正在使用打开文件\u缓存
指令(默认情况下已禁用),则还需要关闭该指令:
open_file_cache off;
非常感谢。当我将它添加到nginx conf中时,它不会毫无问题地工作。所有文件的更改现在都反映在web服务器上