docker-compose uwsgi connect () не удалось (111: соединение отклонено) - PullRequest
0 голосов
/ 12 ноября 2018

Я сделал инфра с докером.

Также использовал docker-compose для отливки каждого контейнера.

Ниже приведены изображения, которые я использовал.

  • nginx: последний
  • mongo: последний
  • python: 3.6.5

Для развертывания флеш-веб-сервера я использовал uwsgi.

(uwsgi установлен на python:3.6.5)

[docker-compose.yml]

version: '3.7'

services:
  nginx:
    build: 
      context: .
      dockerfile: docker/nginx/dockerfile
    container_name: nginx
    hostname: nginx-dev
    ports:
      - '80:80'
    networks: 
      - backend
    links:
      - web_project

  mongodb:
    build:
      context: .
      dockerfile: docker/mongodb/dockerfile
    container_name: mongodb
    hostname: mongodb-dev
    ports:
      - '27017:27017'
    networks:
      - backend

  web_project:
    build:
      context: .
      dockerfile: docker/web/dockerfile
    container_name: web_project
    hostname: web_project_dev
    ports:
      - '5000:5000'
    networks:
      - backend
    tty: true
    depends_on:
      - mongodb
    links:
      - mongodb


networks: 
  backend:
    driver: 'bridge'

[/ docker / nginx / dockerfile]

FROM nginx:latest

COPY . ./home
WORKDIR home
RUN rm /etc/nginx/conf.d/default.conf
COPY ./config/nginx.conf /etc/nginx/conf.d/default.conf

[/ config / nginx.conf]

upstream flask {
    server web_project:5000;
}
server {
    listen 80;

    location / {
        uwsgi_pass flask;
        include /home/config/uwsgi_params;
    }
}

[/ docker / web / dockerfile]

FROM python:3.6.5

COPY . ./home
WORKDIR home
RUN pip install -r app/requirements.txt
RUN apt-get update && apt-get install -y uwsgi-plugin-python
RUN uwsgi --ini config/uwsgi.ini

[uwsgi.ini]

[uwsgi]
chdir = /home/app
socket = :5000
chmod-socket = 666
logto = /home/web.log
master = true
process = 2
daemonize = /home/uwsgi.log

Определено socket = :5000.

После сборки / доступа и доступа к веб-сайту он выдает ошибку сбоя шлюза 502.

nginx | 2018/11/12 06:28:55 [error] 6#6: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 172.27.0.1, server: , request: "GET / HTTP/1.1", upstream: "uwsgi://172.27.0.3:5000", host: "localhost"

Я долго искал в Google, но не могу найтирешение.

Есть ли здесь какое-нибудь решение?

Спасибо.

1 Ответ

0 голосов
/ 12 ноября 2018

Вы должны выставить порт 5000 в приложении Python

FROM python:3.6.5

COPY . ./home
WORKDIR home
RUN pip install -r app/requirements.txt
RUN apt-get update && apt-get install -y uwsgi-plugin-python
EXPOSE 5000 # <---- add this
RUN uwsgi --ini config/uwsgi.ini
...