Implementar en docker con nginx, django, daphne

Quiero implementar mi servicio en Docker.

y mi servicio se desarrolla utilizando python + django y django-canales

── myproject ├── myproject │ ├── settings.py │ ├── urls.py │ ├── asgi.py │ ├── ... ├── collected_static │ ├── js │ ├── css │ ├── ... ├── nginx │ ├── Dockerfile │ ├── service.conf ├── requirements.txt ├── manage.py ├── Dockerfile └── docker-compose.yml

myproject / Dockerfile:

FROM python
ENV PYTHONUNBURRERED 1

RUN mkdir -p /opt/myproject
WORKDIR /opt/myproject
ADD . /opt/myproject

RUN pip install -r requirements.txt
RUN python manage.py migrate

myproject / docker-compose.yml:

version: '2'
services:
  nginx:
    build: ./nginx
    networks:
      - front
      - back
    ports:
      - "80:80"
    depends_on:
      - daphne
  redis:
    image: redis
    networks:
      - "back"
    ports:
      - "6379:6379"
  worker:
    build: .
    working_dir: /opt/myproject
    command: bash -c "python manage.py runworker"
    environment:
      - REDIS_HOST=redis
    networks:
      - front
      - back
    depends_on:
      - redis
    links:
      - redis
  daphne:
    build: .
    working_dir: /opt/myproject
    command: bash -c "daphne -b 0.0.0.0 -p 8000 myproject.asgi:channel_layer"
    ports:
      - "8000:8000"
    environment:
      - REDIS_HOST=redis
    networks:
      - front
      - back
     depends_on:
      - redis
     links:
      - redis
  networks:
    front:
    back:

myproject / nginx / Dockerfile

FROM nginx
COPY service.conf /etc/nginx/sites-enabled/

myproject / nginx / service.conf

server {
  listen 80;
  server_name example.com #i just want to hide domain name..
  charset utf-8;
  client_max_body_size 20M;

  location /static/ {
    alias /opt/myproject/collected_static/;
  }

  location / {
    proxy_pass http://0.0.0.0:8000;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";

    proxy_redirect off;
    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-Host $server_name;
  }
}

y escribo un comandodocker-compose up -d, nginx y daphne funcionan bien.

pero cuando me conecté a example.com:80, solo puedo ver la página predeterminada de nginx.

y cuando me conecté a example.com:8000, solo puedo ver la página de servicio de mi proyecto. (pero no puede ver archivos estáticos)

¡Quiero vincular el servicio nginx y daphne! ¿Qué tengo que hacer? por favor, ayúdame.

cuando acabo de implementar con nginx + daphne + django sin docker, mi servicio funciona bien.

Respuestas a la pregunta(2)

Su respuesta a la pregunta