/ / nginx nie przekazuje aplikacji django w komponencie docker-comp w ubuntu, ale wszystko działa w maszynie dokującej na Macu - django, ubuntu, nginx, docker, docker-compose

nginx nie przekazuje do aplikacji django w dokeru-compose w ubuntu, ale wszystko działa w dockerze-komputerze na Macu - django, ubuntu, nginx, docker, docker-compose

Mam backend django, w którym używam docking-compose do wdrożenia. Ta aplikacja django używa serwera proxy nginx z przodu.

Kiedy wdrażam go w maszynie dokującej i przechodzę do ip-maszyny, jestem właściwie przekierowany na stronę django.

Ale kiedy wdrażam go na maszynie ubuntudoker, gdy idę do ip kontenera nginx otrzymuję domyślną stronę nginx, nie jestem przekierowany do aplikacji django. Kontener nginx nie rejestruje również żadnego błędu. Wszystkie usługi działają w oknie dokowanym bez żadnego błędu.

Udostępniam plik konfiguracyjny nginx, pliki do tworzenia dokerów poniżej

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;
}

}

plik dokujący nginx

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

docker-compose.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:

wersje oprogramowania:

Dopasowałem nawet całą wersję między dwiema stacjami roboczymi. Wersje są

  • doker 1.12.5, 1.13.0
  • docker-compose 1.11.0, 1.11.1

Próbowałem wszystkich kombinacji wersji i nadal istnieje ten sam problem.

Czym różni się używanie komponowania dokerów w maszynie dokującej i bezpośrednio na maszynie ubuntu.

Odpowiedzi:

0 dla odpowiedzi № 1

problem był w konfiguracji gunicorn.

Nie przypisałem tego do 0.0.0.0:8000, po prostu powiązałem go z: 8000. to był problem. Nadal nie wiem, dlaczego działało w maszynie