Как развернуть Django с помощью docker на apache2 с доменом и именем сервера

У меня есть приложение Django, которое мне нужно развернуть на VPS с Apache2 ... приложение докеризовано, но оно не работает так, как ожидалось. Вот что я пробовал :

Dockerfile

## syntax=docker/dockerfile:1
#FROM python:3
#ENV PYTHONDONTWRITEBYTECODE=1
#ENV PYTHONUNBUFFERED=1
#WORKDIR /code
#COPY water_maps/requirements.txt /code/
#RUN pip install -r requirements.txt
#COPY . /code/

FROM ubuntu

RUN apt-get update
RUN apt-get install -y apt-utils vim curl apache2 apache2-utils
RUN apt-get -y install python3 libapache2-mod-wsgi-py3
RUN ln /usr/bin/python3 /usr/bin/python
RUN apt-get -y install python3-pip
RUN #ln /usr/bin/pip /usr/bin/pip3
RUN pip3 install --upgrade pip
RUN pip3 install django ptvsd
#ADD ./test3.watermaps-eg.com.conf /etc/apache2/sites-available/000-default.conf
COPY test3.watermaps-eg.com.conf /etc/apache2/sites-available 
#this line is for the global domain error
ADD apache2.conf /etc/apache2/apache2.conf
EXPOSE 80 3500
RUN echo pwd
COPY . /var/www/html/
WORKDIR /var/www/html
RUN apt install -y python3.10-venv
RUN python3 -m venv venv
RUN pip install -r water_maps/requirements.txt
RUN a2ensite test3.watermaps-eg.com
RUN python manage.py migrate
CMD ["apache2ctl", "-D", "FOREGROUND"]

docker-compose.yaml

version: "2"

services:


  django-apache2:
    build: .
    container_name: django-apache2
    ports:
      - '80:80'
      - '3500:3500'
      - '8006:81'
    volumes:
      - .:/var/www/html

test3.watermaps-eg.com.conf

WSGIPythonPath /var/www/html
WSGIPythonHome /var/www/html/venv

<VirtualHost *:80>
        ServerName test3.watermaps-eg.com
        ServerAlias www.test3.watermaps-eg.com
        ServerAdmin admin@innoventiq.com
        DocumentRoot /var/www/html
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

<Directory /var/www/html>
Require all granted
</Directory>
<Directory /var/www/html/static>
Require all granted
</Directory>
<Directory /var/www/html/water_maps>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
        Alias /static "/var/www/html/static"
WSGIScriptAlias / /var/www/html/water_maps/wsgi.py
</VirtualHost>

Что происходит: когда я устанавливаю на сервер и запускаю docker-compose up --build при попытке посетить домен, он мгновенно говорит not found ошибка ... и когда я пытаюсь посетить домен сервера, он продолжает загружаться вечно без какой-либо ошибки.

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