docker compose uwsgi connect()失败(111:连接被拒绝)

docker compose uwsgi connect()失败(111:连接被拒绝),docker,nginx,docker-compose,uwsgi,Docker,Nginx,Docker Compose,Uwsgi,我和docker做了infra 还使用docker compose对每个容器进行整理 下面是我使用的图片 nginx:最新版本 mongo:最新的 python:3.6.5 为了部署flask Web服务器,我使用了uwsgi (uwsgi安装在python:3.6.5) [docker compose.yml] version: '3.7' services: nginx: build: context: . dockerfile: docker/n

我和docker做了infra

还使用docker compose对每个容器进行整理

下面是我使用的图片

  • nginx:最新版本
  • mongo:最新的
  • python:3.6.5
为了部署flask Web服务器,我使用了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
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
[/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 nginx:latest

COPY . ./home
WORKDIR home
RUN rm /etc/nginx/conf.d/default.conf
COPY ./config/nginx.conf /etc/nginx/conf.d/default.conf
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
定义的
套接字=:5000

在建立/建立和访问网站后,它向控制台抛出502坏网关抛出错误

nginx | 2018/11/12 06:28:55[错误]6#6:*1 connect()在连接到上游时失败(111:连接被拒绝),客户端:172.27.0.1,服务器:,请求:“GET/HTTP/1.1”,上游:uwsgi://172.27.0.3:5000,主机:“localhost”

我在谷歌搜索了很长时间,但我找不到解决方案

这里有什么解决办法吗


谢谢。

您必须在Python应用程序中公开端口5000

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
来自python:3.6.5的

复制/家
工作之家
运行pip安装-r app/requirements.txt
运行apt-get-update&&apt-get-install-y uwsgi-plugin-python
曝光5000#