2017-02-15 17 views
0

我有一個使用docker-compose部署的django後端。這個Django應用程序在前面使用了一個nginx代理。nginx不會轉發到docker-compose中的django應用程序,但它在Mac的docker-machine中運行

當我將它部署在docker-machine中,然後轉到docker-machine ip時,我正確地重定向到了django站點。

但是,當我將它部署在docker上的ubuntu機器上時,當我轉到nginx容器的ip時,我給出了默認的nginx頁面,我沒有重定向到django應用程序。 nginx容器也不會記錄任何錯誤。所有服務都在docker中運行,沒有任何錯誤。

我分享Nginx的配置文件,搬運工,撰寫文件下面

nginx.conf

server { 
    listen 80; 
    server_name omaha; 
    listen 443 ssl; 
    ssl_certificate /etc/nginx/ssl/ssl.crt; 
    ssl_certificate_key /etc/nginx/ssl/ssl.key; 

    charset utf-8; 
    client_max_body_size 200M; 

    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; 
     proxy_set_header X-Forwarded-Proto $scheme; 
    } 

} 

nginx的dockerfile

FROM nginx 
COPY conf/nginx.conf /etc/nginx/conf.d/nginx.conf 
COPY certs/ /etc/nginx/ssl 

泊塢窗 - 撰寫。 yml

version: '2' 

services: 
    nginx: 
     restart: always 
     build: 
     context: ./nginx/ 
     ports: 
     - "80:80" 
     - "443:443" 
     volumes_from: 
     - web 

    web: 
     restart: always 
     build: 
     context: ./web 
     depends_on: 
     - web_ffmpeg 
     - postgres 
     - redis 
     - rabbitmq 
     expose: 
     - "8000" 
     environment: 
     - DEBUG=True 
     command: /usr/local/bin/gunicorn wsgi:application -w 2 -b :8000 


    web_ffmpeg: 
     restart: always 
     build: 
     context: ./web 
     depends_on: 
     - postgres 
     - redis 
     - rabbitmq 
     expose: 
     - "8000" 
     command: /usr/local/bin/celery -A trigger worker -l info 


    postgres: 
     restart: always 
     image: postgres:latest 
     expose: 
     - "5432" 
     volumes: 
     - pgdata:/var/lib/postgresql/data/ 


    redis: 
     restart: always 
     image: redis:latest 
     expose: 
     - "6379" 
     volumes: 
     - redisdata:/data 



    rabbitmq: 
     restart: always 
     image: rabbitmq:3-management 
     environment: 
     RABBITMQ_DEFAULT_USER: 'adminuser' 
     RABBITMQ_DEFAULT_PASS: 'xxxxxxxxx' 
     RABBITMQ_DEFAULT_VHOST: 'myvhost' 
     ports: 
     - "15672:15672" 
     expose: 
     - "5672" 


volumes: 
    elk-data: 
    pgdata: 
    redisdata: 
    web-data: 
    web-ffmpeg-data: 

軟件版本:

我連中兩個工作站之間的匹配所有的版本。該版本是

  • 泊塢窗1.12.5,1.13.0
  • 泊塢窗,撰寫1.11.0,1.11.1

我試過的所有版本組合,仍然存在同樣的問題。

在docker-machine和直接在ubuntu機器上使用docker-compose有什麼不同。

回答

0

問題出在gunicorn配置中。

我沒有將它綁定到0.0.0.0:8000,而是我將它綁定到:8000。這是問題所在。我仍然不知道它爲什麼在機器上工作

相關問題