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

enter image description here

Корень вашего образа docker и файл manage.py не находятся в одном каталоге. Корень образа находится на один уровень выше.

Попробуйте: python ./<directory_in_which_manage_py_is_located>/manage.py runserver 0.0.0.0:8000 в вашем docker-compose.yml файле.

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