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?