Django с docker compose не может открыть файл '/code/manage.py
я развертываю в docker compose django с postgrest, но у меня возникла проблема, когда я пытаюсь развернуть приложение на django, поскольку я получаю следующий вывод.
[+] Выполняется 1/0 ⠿ Контейнер proyecto-db-1 Выполняется
. 0.0s python: can't open file '/code/manage.py': [Errno 2] No such file or directory asterisk@localhost:~/Documentos/Programacion/django/Proyecto>
Я получаю этот вывод, реализуя следующий код:
docker compose run web python manage.py startapp aplicacion
docker compose run web django-admin startproject proyecto
>
в docker-compose.yml есть:
version: '3.9'
services:
db:
image: postgres
volumes:
- ./data/db:/var/lib/postgresql/data
environment:
- POSTGRES_DB=postgres
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
environment:
- POSTGRES_NAME=postgres
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
depends_on:
- db
Dockerfile is:
# syntax=docker/dockerfile:1
FROM python:3
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
WORKDIR /code
COPY requirements.txt /code/
RUN pip install -r requirements.txt
COPY . /code/
requirements.txt:
Django>=3.0,<4.0
djangorestframework==3.13.1
psycopg2>=2.8
и .env является:
## do not put this file under version control!
SECRET_KEY='c_r-e8v1divj8y+hu@-w=n#$xj#ciuejybd3_(k2h789(mcv8$'
DEBUG=False
## Super-User Credentials
SUPER_USER_NAME = 'root'
SUPER_USER_PASSWORD = 'root'
SUPER_USER_EMAIL = 'admin@email.com'
Имеется файл manage.py
Корень вашего образа docker и файл manage.py не находятся в одном каталоге. Корень образа находится на один уровень выше.
Попробуйте: python ./<directory_in_which_manage_py_is_located>/manage.py runserver 0.0.0.0:8000
в вашем docker-compose.yml
файле.