Докеризованные nginx и django на VPS с установленным Apache

Я пытаюсь развернуть свой докеризованный проект django с контейнером nginx на VPS-сервере, на котором установлен apache. Nginx conf с 80 портом, я получаю port already in use ошибку. Поэтому я изменил свой конфиг следующим образом.

nginx.conf;

server {
    listen 8080;
    server_name sub.example.com;
    resolver 127.0.0.11 ipv6=off valid=10s;


    charset utf-8;

    location /static {
        alias /var/www/static;
    }

    location / {
        proxy_pass http://app;
        proxy_set_header X-Forwarded-Host $server_name;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

docker-compose.yml;

version: '3.8'

services:
  nginx:
    restart: unless-stopped
    build:
      context: ./nginx
      dockerfile: './Dockerfile'
    ports:
      - "8080:8080"
    volumes:
      - ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf
      - staticfiles:/var/www/static
    container_name: nginx
    depends_on:
      - app

  app:
    image: core
    build: ./
    restart: always
    container_name: app
    command: bash -c "python manage.py collectstatic --noinput && python manage.py migrate && gunicorn --bind 0.0.0.0:8000 core.wsgi:application --reload"
    volumes:
      - ./storage/assets/staticfiles:/app/storage/assets/staticfiles
      - staticfiles:/app/storage/assets/staticfiles/
      - .:/app
    expose:
      - 8000
    ports:
      - 8000:8000
    env_file:
      - .env
    depends_on:
      - redis

  redis:
    restart: always
    image: redis:latest
    expose:
      - "6379"

  worker:
    build: ./
    command: celery -A core worker -l info -Q celery
    environment:
      - C_FORCE_ROOT=true
    volumes:
      - .:/app
    depends_on:
      - redis
  
  beat:
    build: ./
    command: celery -A core beat -l info
    volumes:
      - .:/app
    links:
      - redis
    depends_on:
      - redis

volumes:
  staticfiles:

Когда я собираю и запускаю проект на VPS-сервере с помощью приведенных ниже команд, ошибки не возникает.

sudo docker build -t core:latest .
sudo docker run -d -p 8000:8080 core:latest

Когда я проверяю изображения с помощью docker images, я вижу свое изображение. Однако когда я проверяю запущенные контейнеры с помощью docker ps, я не вижу свой контейнер, и мой субдомен перенаправляет меня на основной домен.

Не могли бы вы помочь мне с этим?

Вернуться на верх