我已经在里面创build了一个简单的包含Nginx的Docker容器,由于某种原因,它不会从主机访问www卷数据。
这是我用的命令:
docker run \ -d \ -p 8080:80 \ --name nginx \ --restart always \ -v /etc/nginx/nginx.conf:/etc/nginx/nginx.conf:ro \ -v /var/www:/usr/share/nginx/html \ -v /home/myuser/myvhost.conf:/etc/nginx/sites-enabled/myvhost.conf:ro \ -v /var/log/nginx:/var/log/nginx \ nginx:1.9.4;
所有的卷都正确安装(我检查与docker inspect ),但是当在网站上我得到一个404和主机上的Nginx error.log说:
"/var/www/docker/index.html" is not found (2: No such file or directory)
这是令人惊讶的,因为这条路是绝对正确的
Nginx正在寻找/var/www ,而且你似乎没有在/var/www上安装任何东西。
您正在将主机的/var/www挂载在容器内的/usr/share/nginx/html 。
看起来你需要(a)修改你的ngingxconfiguration,或者(b)将你的主机的/var/www作为/var/www ,或者(c)你有一些-v规格向后语法是-v <host_path>:<container_path> )