2017-02-15 19 views
0

У меня есть django backend, где я использую docker-compose для развертывания. Это приложение django использует прокси nginx спереди.nginx не пересылает приложение django в docker-compose в ubuntu, но все работает в докер-машине на Mac

Когда я развертываю его в докер-машине, и я иду на док-машину ip, я перенаправляюсь на сайт django должным образом.

Но когда я развертываю его на машине ubuntu на докере, когда я перехожу к ip контейнера nginx, мне предоставляется страница nginx по умолчанию, я не перенаправлен на приложение django. Контейнер nginx также не регистрирует ошибок. Все службы работают в докере без каких-либо ошибок.

Я делюсь конфигурационный файл в Nginx, Докер-Compose файлы ниже

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
  • докер-Compose 1.11.0, 1.11.1

Я пробовал все комбинации версий и до сих пор такая же проблема существует.

В чем разница между использованием докеров в докерной машине и непосредственно на машине ubuntu.

ответ

0

проблема была в конфигурации gunicorn.

Я не связывал его с 0.0.0.0:8000, вместо этого я просто привязал его к: 8000. это была проблема. Я до сих пор не знаю, почему он работал на машине