Docker-index.html Nginx文件的共享无效

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文件,其中包含以下内容: 你好索引 但当我查看我

我的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
文件,其中包含以下内容:


你好索引
但当我查看我的域时,我会看到空页面,但查看页面源时,我会看到如下内容:


欢迎来到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服务器上