docker和nginx部署:java.net.connectexception:连接被拒绝(连接被拒绝)

svmlkihl  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(754)

我在服务器上运行以下容器:

CONTAINER ID   IMAGE                           COMMAND                  CREATED         STATUS                 PORTS                                                            NAMES
c21c339e1299   gitlabanalyzer_frontend         "nginx -g 'daemon of…"   3 minutes ago   Up 3 minutes           0.0.0.0:8181->80/tcp                                             gitanalyzer-frontend
b3863853402c   gitlabanalyzer_backend:latest   "java -jar app.jar"      3 minutes ago   Up 3 minutes           0.0.0.0:8080->8080/tcp                                           gitanalyzer-backend
724c2cf79b67   gitlab/gitlab-ee:13.8.0-ee.0    "/assets/wrapper"        5 weeks ago     Up 5 weeks (healthy)   0.0.0.0:22->22/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:8282->80/tcp   gitlab_server_container_gitlab_1

我使用nginx作为反向代理(不是容器),内容 /etc/nginx/conf.d/default.conf 是:

server {
  listen        80;
  server_name   XXX;

  location / {
    proxy_pass  http://localhost:8181;
  }

  location /gitlab {
    proxy_pass  http://localhost:8282;
  }
}

因此前端向后端发送api请求,后端依次向gitlab服务器发出api请求。所有3个容器都在同一台机器上。然而,我不断得到: java.net.ConnectException: Connection refused (Connection refused) 当后端尝试连接到gitlab服务器时。
当我从另一台机器运行后端时,我可以很好地连接服务器上的gitlab服务器,但是,当我尝试在服务器上运行所有东西时,出现了连接错误。
请帮我解决这个问题。

qjp7pelc

qjp7pelc1#

如果他们在同一条路上 network 在码头,然后你的 default.conf 文件应该这样更改:

server {
  listen        80;
  server_name   XXX;

  location / {
    proxy_pass  http://gitanalyzer-frontend:8181;
  }

  location /gitlab {
    proxy_pass  http://gitlab_server_container_gitlab_1:8282;
  }
}

否则,你应该把他们放在同一个网络里。

相关问题