我正在按照 YouTube 教程了解如何在 Docker 上配置 Nginx 服务器,但出现了以下错误
proxy_1 | 2018/07/14 22:18:24 [错误] 5#5:*1 connect()连接到上游时失败(111:连接被拒绝),客户端:172.19.0.1,服务器:,请求:“GET / HTTP / 1.1”,上游:“http://127.0.0.1:49160/",主机:“localhost”
/docker_compose.yml
version: '3'
services:
nodecluster:
build: nodecluster
ports:
- "49160:8000"
proxy:
build: proxy
ports:
- "80:80"
节点集群/Dockerfile
FROM node:8
# Create app directory
WORKDIR /usr/src/app
# Install app dependencies
# A wildcard is used to ensure both package.json AND package-lock.json are copied
# where available (npm@5+)
COPY package*.json ./
RUN npm install
# If you are building your code for production
# RUN npm install --only=production
# Bundle app source
COPY . .
EXPOSE 8000
CMD [ "npm", "start" ]
代理/Dockerfile
FROM nginx:alpine
RUN rm /etc/nginx/conf.d/*
COPY proxy.conf /etc/nginx/conf .d/
代理/proxy.conf
listen 80;
server {
location / {
proxy_pass http://127.0.0.1:49160;
}
}
我搜索了 Google 并浏览了不同的论坛以寻找答案,无论我尝试什么,连接被拒绝错误仍然存在。该服务器已启动并正在运行,如果我直接使用 127.0.0.1:49160 / localhost:49160 访问它,它可以正常工作,但它永远不会从代理重定向到 127.0.0.1:49160,或者像我使用http://节点集群:49160/管他呢。
答案1
您的 nginx 正在尝试连接到localhost
端口 49160,但您的 nodecluster 正在另一个容器上运行,该容器具有其他 IP 地址。
您需要找到 nginxproxy_pass
指令的正确目的地并修复该语句。