2017-06-20 61 views
0

服务烧瓶所以我敲我的头就这个问题在过去的小时,我有一个泊坞窗,compose.yml文件Nginx的码头工人容器不接受,并从容器

version: '2' 

services: 
    web: 
    restart: always 
    build: ./web_app 
    expose: 
     - "8000" 
    ports: 
     - "8000:8000" 
    volumes: 
     - ./web_app:/data/web 
    command: /usr/local/bin/gunicorn web_interface:app -w 4 -t 90 --log-level=debug -b 0.0.0.0:8000 --reload 
    depends_on: 
     - postgres 

    nginx: 
    restart: always 
    build: ./nginx 
    ports: 
    - "8080:80" 
    volumes_from: 
     - web 
    depends_on: 
     - web 

    postgres: 
    restart: always 
    image: postgres:latest 
    volumes_from: 
     - data 
    volumes: 
     - ./postgres/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d 
     - ./backups/postgresql:/backup 
    expose: 
     - "5432" 

    data: 
    restart: always 
    image: alpine 
    volumes: 
     - /var/lib/postgresql 
    tty: true 

然而,当我docker-compose up,然后导航到本地主机:8880,我没有得到任何服务。就像nginx服务器不接受通过本地主机的连接。

nginx.conf

server { 

    listen 80; 
    server_name localhost; 
    charset utf-8; 

    location /static/ { 
     alias /data/web/crm/web_interface; 
    } 

    location = /favicon.ico { 
     alias /data/web/crm/web_interface/static/favicon.ico; 
    } 

    location/{ 
     proxy_pass http://web:8000; 
     proxy_set_header Host $host; 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    } 

} 

的nginx/Dockerfile

FROM nginx:latest 

RUN rm /etc/nginx/conf.d/default.conf 

COPY ./nginx.conf /etc/nginx/conf.d/nginx.conf 

这是什么在我的终端:terminal shot

我一直非常密切关注this教程,但它似乎不能为我拥有的Flask应用程序提供服务创建。有任何想法吗?

+0

告诉我是否缺少一些部分...您将8080暴露到nginx容器中,但您的nginx侦听端口80. – German

回答

1

尝试改变端口映射如下nginx服务:

ports: 
    - "8880:80" 

或使nginx的监听端口8080

+0

感谢您的输入,但它仍然是相同的结果... –

+0

实际上在第二次检查时,林不知道是否因为你或@德国人的建议,当我导航到本地主机:8080然后屏幕加载一段时间,然后返回504 nginx错误。所以这是一个积极的方向。 –

+0

@ AndrewGraham-Yooll您可以使用您当前的配置更新您的问题吗? –