docker通过反向代理通过域名访问nginx报404

我在本地VM虚拟机中通过docker安装了nginx 镜像,

使用命令
docker run -p 8081:80 --name nginx-test-web
-v /docker-container/docker-nginx/www:/usr/share/nginx/html
-v /docker-container/docker-nginx/conf/nginx.conf:/etc/nginx/nginx.conf
-v /docker-container/docker-nginx/logs:/var/log/nginx
-v /docker-container/docker-nginx/conf.d:/etc/nginx/conf.d
-d nginx

然后在

`/docker-container/docker-nginx/conf.d下创建了
www.dockertest.conf

server {

listen       80;
server_name  www.dockertest.com;

#charset koi8-r;
#access_log  /var/log/nginx/host.access.log  main;

location / {
    root   /usr/share/nginx/html;
    index  index.html index.htm;
    proxy_set_header  Host  $http_host;
    proxy_set_header  X-Real-IP  $remote_addr;
    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass  http://192.168.72.158:80;  // 虚拟机IP:映射端口(不清楚这个端口是指的映射时8081:80的8081还是80)
}

#error_page  404              /404.html;

# redirect server error pages to the static page /50x.html
#
error_page   500 502 503 504  /50x.html;
location = /50x.html {
    root   /usr/share/nginx/html;
}

`

没有做映射时,直接通过这种形式运行容器

docker run --name my-nginx-test -p 8081:80 -d nginx

然后浏览器通过http://192.168.72.158:8081/

可以访问到 Welcome to nginx! 页面

但是映射配置文件那种方式死活报404

6#6: *2043 open() "/usr/share/nginx/html/50x.html" failed (2: No such file or directory), client: 172.17.0.1, server: www.dockertest.com, request: "GET /favicon.ico HTTP/1.0", upstream: "http://192.168.72.158:80/favicon.ico", host: "www.dockertest.com", referrer: "http://www.dockertest.com/

阅读 4.3k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题