Docker-compose не может найти файл manage.py в команде runserver - PullRequest
0 голосов
/ 15 октября 2019

Я, что делать dockerize мое приложение django, я создаю свой Dockerfile:

FROM python:3.6-alpine
RUN apk add --no-cache linux-headers libffi-dev jpeg-dev zlib-dev
RUN apk update && apk add postgresql-dev gcc python3-dev musl-dev
RUN mkdir /DEV
WORKDIR /DEV
COPY ./requirements.txt .

RUN pip install --upgrade pip
RUN pip install -r requirements.txt
ENV PYTHONUNBUFFERED 1

COPY . .

, в этот момент я создаю свой docker-compose.yml:

version: '3'

networks:
  mynetwork:
    driver: bridge

services:

  db:
    image: postgres
    restart: always
    ports:
      - "5432:5432"
    networks:
      - mynetwork
    environment:
      POSTGRES_USER: myuser
      POSTGRES_PASSWORD: mypass
      POSTGRES_DB: mydb
    volumes:
      - ./data:/var/lib/postgresql/data

  web:
    build: .
    command: python manage.py runserver 0.0.0.0:8000
    networks:
      - mynetwork

    volumes:
      - .:/DEV

    ports:
      - "8000:8000"

    depends_on:
      - db

, затем я создаюФайл .dockerignore:

# Ignore
.DS_Store
.idea
.venv2
__pycache__
!manage.py
*.py[cod]
*$py.class
*.so
.Python
*.log
docker-compose.yml
Dockerfile
geckodriver.log
golog.py
golog.pyc
log.html
media
out
output.xml
report.html
startup.sh
templates
testlibs
.dockerignore

хорошо, на этом этапе я запускаю:

docker-compose build --no-cache

в конечном образе был построен правильно, но когда я запускаю:

docker-compose up

система вернет эту ошибку:

web_1 |python: невозможно открыть файл 'manage.py': [Errno 2] Нет такого файла или каталога core_web_1 с кодом 2

Кто-то может помочь мне в решении проблемы?

Огромное спасибо заранее

1 Ответ

1 голос
/ 15 октября 2019

Попробуйте сделать ваш Dockerfile более точным в зависимости от местоположения, а затем измените также ваш docker-compose:

FROM python:3.6-alpine
RUN apk add --no-cache linux-headers libffi-dev jpeg-dev zlib-dev
RUN apk update && apk add postgresql-dev gcc python3-dev musl-dev
RUN mkdir /DEV
WORKDIR /DEV
COPY ./requirements.txt /DEV/

RUN pip install --upgrade pip
RUN pip install -r requirements.txt
ENV PYTHONUNBUFFERED 1

COPY . /DEV/
web:
   build: .
   command: python /DEV/manage.py runserver 0.0.0.0:8000
   networks:
       - mynetwork
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...