Редактировать
Добавление --ipv6 к команде, хотя и не настроено должным образом, похоже, превосходит точку, в которой зависает процесс.
Задача
- Вызов docker-compose up выполняет runserver, но в какой-то момент зависает после печати текущего времени.
- Вызов docker-compose run -p 8000: 8000 web python manage.py runserver 0.0.0.0:8000 также запускает сервер, но делает это успешно и может быть достигнуто в 192.168.99.100:8000.
Вопросы
Почему я могу запустить сервер напрямую из docker-compose в моей оболочке, но не из файла .yml?
Мне кажется, что содержимое файла .yml и строки запуска docker-compose из оболочки поразительно схожи.
Единственное различие, о котором я могу подумать, - это, возможно, разрешения на каком-то уровне, необходимые для правильного запуска сервера django, но я не знаю, как с этим справиться. Docker работает на машине с Windows 8.1. Общая папка для моей виртуальной машины по умолчанию - c: \ Users.
Файлы
Моя папка содержит свежий проект django, а также файлы Docker. Я вмешивался в разные версии Python и Django, но результат тот же. Я очищал свои изображения и контейнеры между попытками, используя
docker rm $(docker ps -a -q)
docker rmi $(docker images -q)
докер-compose.yml
version: '3'
services:
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
Dockerfile
FROM python:3.6-alpine
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/
requirements.txt
Django>=1.8,<2.0
System
Моя операционная система - Windows 8.1
.