Докеризованные 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
, я не вижу свой контейнер, и мой субдомен перенаправляет меня на основной домен.
Не могли бы вы помочь мне с этим?