Nginx 404 Docker反向代理访问反向代理位置

Nginx 404 Docker反向代理访问反向代理位置,nginx,docker,jenkins,Nginx,Docker,Jenkins,我正在使用docker containers和jenkins container的反向代理来处理这个问题。 我的nginx自定义配置如下: upstream jenkins { server 172.17.0.2:8080; } server { listen 80; server_name jenkins; location /jenkins { proxy_pass http://172.17.0.2:8080; } 另外,/etc/nginx/ng

我正在使用docker containers和jenkins container的反向代理来处理这个问题。 我的nginx自定义配置如下:

upstream jenkins {
    server 172.17.0.2:8080;
}
server {
    listen 80;
    server_name jenkins;
    location /jenkins {
    proxy_pass http://172.17.0.2:8080;
}
另外,/etc/nginx/nginx.conf没有任何默认的根目录,但当我尝试访问时,它仍然给我提供了访问/jenkins时出现问题的404。原因:未找到

我检查了nginx错误日志,发现它有“/etc/nginx/html/index.html”未找到

虽然我没有设置任何/etc/nginx/html/config,但为什么它会给我404错误? 有人能澄清我的疑问吗


类似的内容似乎更适合nginx部分。如果您声明上游,请使用它:

upstream jenkins {
    server 172.17.0.2:8080;
}
server {
    listen 80;
    server_name jenkins;
    location /jenkins {
        proxy_pass http://jenkins;
    }
}
对于docker部分,如果可以,我建议使用端口映射。因为docker容器的IP发生了变化,所以每次重新创建jenkins容器时都必须编辑配置文件。使用类似于
docker container run-d-p 127.0.0.1:8080:8080 my jenkins container image的东西,您可以将nginx配置修改为类似以下内容:

upstream jenkins {
    server 127.0.0.1:8080;
}
server {
    listen 80;
    server_name jenkins;
    location /jenkins {
        proxy_pass http://jenkins;
    }
}

我试图在上游块中使用容器名称,因为nginx和jenkins位于同一docker网络中,但我仍然得到了默认的索引页。。