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