Docker не может открыть файл для запуска приложения python в контейнере с django с использованием docker -compose - PullRequest
0 голосов
/ 23 апреля 2020

Я новичок в Django. Я хочу запустить код примера на https://github.com/wsvincent/djangoforprofessionals/tree/master/ch1-hello. Контейнер создан, но он не запускается, потому что он был прерван, поскольку Docker не может запустить приложение, показывая следующую ошибку при выполнении команды manage.py.

Creating ch1-hello_web_1 ... done
Attaching to ch1-hello_web_1 web_1  | python: can't open 
file '/code/manage.py': [Errno 2] No such file or directory
ch1-hello_web_1 exited with code 2

Я использую Windows с windows 7 professional, поэтому у меня есть Docker Toolbox, отлично работающий с другими докеризированными приложениями. Я получил доступ к изображению docker и подтвердил, что файл находится в контейнере. Поэтому я хотел бы знать, могут ли быть Linux разрешения, когда Docker пытается получить доступ к файлу.

У меня Docker версия 19.03.1, сборка 74b1e89e8a

Папка / код внутри docker изображения:

-rwxr-xr-x    1 root     root           361 Apr 23 02:11 Dockerfile
-rwxr-xr-x    1 root     root           157 Apr 11 21:31 Pipfile
-rwxr-xr-x    1 root     root          1624 Apr 11 21:31 Pipfile.lock
-rwxr-xr-x    1 root     root        131072 Apr 11 21:31 db.sqlite3
-rwxr-xr-x    1 root     root           103 Apr 23 02:11 docker-compose.yml
drwxr-xr-x    2 root     root          4096 Apr 23 00:38 hello_project
-rwxr-xr-x    1 root     root           633 Apr 11 21:31 manage.py
drwxr-xr-x    3 root     root          4096 Apr 23 00:38 pages

[1]: https://i.stack.imgur.com/u3KEn.png Снимок экрана с файлами изображения Docker

Dockerfile I использую, я перешел на альпийскую версию. Обратите внимание, что при использовании полного python docker изображения, python: последняя, ​​я получил ту же ошибку.

# Pull base image
FROM python:3.9.0a5-alpine3.10

# Set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

# Set work directory
WORKDIR /code

# Install dependencies
COPY Pipfile Pipfile.lock /code/
RUN pip install pipenv && pipenv install --system

# Copy project
COPY . /code/

docker -compose.yml

version: '3.7'

services:
  web:
    build: .
    command: python /code/manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/code
    ports:
      - 8000:8000

Я попытался также внести изменения, предложенные в потоке, где кто-то сообщил об этой же ошибке, в случае, если это связано с базой данных, но проблема остается. Проблема с приложением Dockerising Django, использующим docker -композит

Заранее спасибо!

stayathome

1 Ответ

0 голосов
/ 28 апреля 2020

Я автор книги. Это новая Windows проблема, которую читатели тоже предупредили. Как ни странно, одним из исправлений является включение «Общий доступ к файлам и принтерам», как показано здесь .

. Решает ли это проблему для вас?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...