Я следую этому руководству YouTube о том, как настроить сервер Nginx в Docker, но получаю следующую ошибку
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"
nodecluster / 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;
}
}
Я googledd и просматривал разные форумы для ответа, независимо от того, что я пробовал, ошибка отказа в соединении все еще существует. Он запущен и работает, и если я обращаюсь к нему напрямую, используя 127.0.0.1:49160 / localhost: 49160, он работает, но никогда не перенаправляется с прокси на 127.0.0.1:49160 или что-то подобное, когда я использовал http: // nodecluster: 49160 / или что угодно.
Ваш nginx пытается подключиться к localhost
порт 49160, но ваш nodecluster работает в другом контейнере, у которого есть другой IP-адрес.
Вам нужно найти правильное место назначения для nginx proxy_pass
директиву и исправьте оператор.