2017-02-15 1 views
0

Ich habe ein Django-Backend, wo ich Docker-Compose zu implementieren. Diese Django-Anwendung verwendet einen Nginx-Proxy im Vordergrund.Nginx nicht an Django-App in Docker-Compose in Ubuntu weiterleiten, aber es funktioniert alles in Docker-Maschine in Mac

Wenn ich es in einer Docker-Maschine bereitstellen und ich gehe zur Docker-Maschine IP werde ich richtig auf die Django-Website umgeleitet.

Aber wenn ich es in einem Ubuntu-Rechner auf Docker bereitstellen, wenn ich auf die IP-Adresse des Nginx-Container gehe ich die Standard-Nginx-Seite gegeben, bin ich nicht auf die Django-Anwendung umgeleitet. Der Nginx-Container protokolliert auch keinen Fehler. Alle Dienste werden ohne Fehler im Andockfenster ausgeführt.

Ich teile die Config-Datei von nginx, Docker-compose Dateien unter

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 

Docker-compose.

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: 

Software-Versionen:

ich selbst zwischen den beiden Workstation aller Version angepasst. Die Versionen sind

  • Docker 1.12.5, 1.13.0
  • Docker-compose 1.11.0, 1.11.1

Ich habe versucht, alle Kombinationen der Versionen und noch gleiche Problem besteht.

Was unterscheidet die Verwendung von docker-compose in einer docker-machine und direkt auf einer ubuntu-Maschine?

Antwort

0

Das Problem war in Gunicorn Config.

Ich habe es nicht an 0.0.0.0:8000 binden, sondern ich habe es gerade gebunden an: 8000. Das war das Problem. Ich weiß immer noch nicht, warum es in der Maschine

arbeitete
Verwandte Themen