[英]django runserver hangs in docker-compose up but runs correctly in docker-compose run
为什么我可以直接从我的 shell 中的 docker-compose 运行服务器,而不是从 .yml 文件?
对我来说,.yml 文件的内容和 shell 中的 docker-compose 运行行非常相似。
我能想到的唯一区别可能是正确启动 django 服务器所需的某种级别的权限,但我不知道如何解决这个问题。 Docker 在 Windows 8.1 机器上运行。 我的虚拟机的共享文件夹是默认的 c:\\Users。
我的文件夹包含一个新的 django 项目以及这些 docker 文件。 我篡改了不同版本的 python 和 django,但结果是一样的。 我已经在尝试使用之间清理了我的图像和容器
version: '3'
services:
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
docker-compose.yml
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/
文件
Django>=1.8,<2.0
要求.txt
Django>=1.8,<2.0
我的操作系统是 windows 8.1
我自己也遇到了这个问题,似乎您需要为容器分配一个 tty 和一个 stdin 才能使runserver
工作:
python:
image: my-image:latest
stdin_open: true # docker run -i
tty: true # docker run -t
build:
context: ..
dockerfile: docker/Dockerfile
我有同样的问题,无法让它做任何其他事情。 但是,当我转到 docker 机器docker-machine ip
它返回 192.168.99.100,然后通过转到 192.168.99.100:8000 我的 docker 容器开始接收请求
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.