Я хочу развернуть проект djago, используя gitlab cicd. но я вижу ошибку "module not found error". но путь, кажется, установлен корректно
В настоящее время я работаю над проектом django и мне нужно развернуть его на сервере. Я использую gitlab для ci/cd. Для запросов я использую gunicorn и nginx
. Я докеризировал nginx и проект 'vardast' и с помощью файла docker-compose попытался собрать и развернуть оба проекта и подключить их на сервере. но это
error
в которой говорится No module found No module named 'vardast'
. это докеризуемая директория моего проекта ->
dir
Примечание: wsgi.py
находится внутри 'vardast'
это мой файл docker-compose,
version: '3.3'
services:
vardast:
build:
context: ./
dockerfile: Dockerfile
args:
- no-cache=true
container_name: vardast
volumes:
- .:/app
working_dir: /app
ulimits:
nofile:
soft: 65536
hard: 65536
nproc: 65536
ports:
- "8000:8000" # This ensures the app is accessible from outside the container
# command: ["gunicorn", "--bind", "0.0.0.0:8000", "vardast.wsgi:application"]
nginx:
# image: nginx:latest
# container_name: nginx
build:
context: ./
container_name: nginx
ports:
- "80:80"
# volumes:
# - ./nginx/nginx.conf:/etc/nginx/nginx.conf # Mount the nginx.conf file
volumes:
- ./nginx/nginx.conf:/etc/nginx
depends_on:
- vardast
# networks:
# default:
# driver: bridge
а это докерфайл, который я использовал для 'vardast'
# Use an official Python runtime as a parent image
FROM python:3.9-slim
# Set the working directory in the container
WORKDIR /app
# Copy the current directory contents into the container at /app
COPY . /app/
RUN echo "Current working directory:" && pwd && ls -la
ENV PYTHONPATH=/app
# Install any needed packages specified in requirements.txt
# RUN apt-get update && apt-get install -y \
#python3 \
#python3-pip \
# && apt-get clean \
# && rm -rf /var/lib/apt/lists/*
# RUN pip install docker
RUN pip install -r requirements.txt
# RUN apt-get install python3 py3-pip
# RUN pip install --upgrade docker
# Make port 8000 available to the world outside this container
EXPOSE 8000
# Define environment variable
# ENV DJANGO_SETTINGS_MODULE=vardast.settings
ENV ENCRYPTION_KEY=TncyNWJ____________________TDE2SU______0=
# Run the Gunicorn server
# CMD ["gunicorn", "--chdir", "/app", "--bind", "0.0.0.0:8000", "vardast.wsgi:application"]
CMD ["gunicorn", "--bind", "0.0.0.0:8000", "vardast.wsgi:application"]
но все же я не понимаю, почему он не находит модуль 'vardast'