Docker 卷无法与 Nginx 一起使用

Docker 卷无法与 Nginx 一起使用

我创建了一个包含 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;

所有卷都已正确安装(我已检查),但是当我访问网站时出现 404 并且主机上的docker inspectNginx显示:error.log

"/var/www/docker/index.html" is not found (2: No such file or directory)

这令人惊讶,因为这条路绝对是正确的……

答案1

Nginx 正在寻找中的内容/var/www,但您似乎没有在 上安装任何内容/var/www

您正在容器内部/var/www安装主机。/usr/share/nginx/html

看起来你要么需要(a)修改你的 ngingx 配置,要么(b)将你的主机挂载/var/www到容器内/var/www,要么(c)你的一些-v规范是向后的(语法是-v <host_path>:<container_path>

相关内容