泊坞窗 - index.html的Nginx的文件
问题描述:
的无效共享我有我的码头工人,compose.yml文件像这样:泊坞窗 - index.html的Nginx的文件
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
文件,内容如下:
<html>
<head>
</head>
<body>
hello index
</body>
</html>
但是当我看着我的域名我看空页,但是看着在页面的源代码我看到这样的事情:
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
看起来Docker使用的是默认的Nginx文件,仅占用它的一部分(可能是它的确切长度,因为它在我的index.html
文件中。与其他文件例如abc.html
没有这样的问题(可能是因为它在Nginx图像中默认不存在)。我怎样才能解决这个问题,以显示index.html
文件的正确内容?
答
由于您的数量以/c/...
开头,因此我假设您使用的是Windows上的Docker Toolbox以及随附的docker-machine
工具。你遇到的是Nginx的known issue(或者Nginx使用的sendfile
Linux系统调用)和Virtualbox共享文件夹。
这个问题在Vagrant documentation也提到(也使用VirtualBox的),其还配备了一个建议的解决方案,可能会为你工作:
有一个VirtualBox的臭虫SENDFILE这可能会导致相关损坏或不更新的文件。您应该在您运行的任何Web服务器上停用sendfile。
在Nginx的:
sendfile off;
在Apache中:
EnableSendfile Off
根据在bug report in the vendor bug tracker的最新评论,如果您使用的open_file_cache
指令(默认禁用),您也需要关掉它:
open_file_cache off;
非常感谢。当我将它添加到nginx conf时,它无法正常工作。现在,所有文件更改都反映在Web服务器上 –