我正在尝试在Windows 10上使用Docker启动Django应用程序。我在这里关注快速入门教程:
https://docs.docker.com/compose/django/#connect-the-database
当它到达docker-compose up
部分时,为了实际启动应用程序,它会被卡住。
这是docker-compose.yml:
version: '3'
services:
db:
image: postgres
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
这是Dockerfile:
FROM python:3.5
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/
当我使用docker-compose up
时,它会卡在:
web_1 | Performing system checks...
web_1 |
web_1 | System check identified no issues (0 silenced).
答案 0 :(得分:0)
我想我遇到了类似的问题。我发现我需要在composeexample / settings.py中将主机ip添加到ALLOWED_HOSTS。例如
ALLOWED_HOSTS = [u'10.122.14.13']
答案 1 :(得分:0)
对于遇到类似问题的人,我通过在界面上运行docker解决了这个问题。
可能因为DB花了很长时间才开始或类似的事情而陷入困境。
答案 2 :(得分:0)
我遇到了同样的问题,我发现这是由 *** Settings ***
Library DateTime
*** Variables ***
${UTC_OFFSET} - 5 hours
${LOCAL_TIME_ZONE} -05:00
${LOCAL_DATE_FORMAT} %m/%d/%Y
*** Test Cases ***
Test title
${Supplied_Date}= DateTime.Get Current Date time_zone=UTC increment=${UTC_OFFSET} result_format=%Y-%m-%d %H:%M:%S
Log ${Supplied_Date} console=true
${Supplied_Date} DateTime.convert date ${Supplied_Date} result_format=%Y-%m-%d %H:%M:%S exclude_millis=${True} date_format=${LOCAL_DATE_FORMAT} %I:%M:%S %p
Log ${Supplied_Date} console=true
文件中的错误引起的。
上次停止服务器后,我添加了一个Model类(只是忘了它)而没有运行服务器。下次启动服务器时,我遇到了您的问题,但是搜索Web毫无用处,因为我的项目设置一切正常(这通常会导致此类错误)。
然后我提到在上一次更改之后我没有应用迁移,所以我运行了命令:
models.py
它告诉我新的Model声明中有错误。 它导致服务器停止响应。我不知道为什么它会以这种方式工作而不是在浏览器或控制台中显示错误消息,但这就是事实。我修复它,服务器开始响应。我希望这会对某人有所帮助。
答案 3 :(得分:0)
我遇到了同样的问题,但是我找到了一种解决方法来运行它。
在您的Django settings.py中将ALLOWED_HOST更改为
ALLOWED_HOST = ['*']
,因此Django将允许每个主机访问该应用。
最后,当您启动Docker Quickstart Terminal
时,它会显示default machine with IP 192.168.XX.XX
。运行docker-compose up
,您可以找到在IP:192.168.XX.XX:8000上运行的Django应用。
不用担心docker-compose up
不会被卡住,只是它没有回显任何Django输出。