2017-08-01 117 views
0

我想在我的django项目中使用PyCharm进行远程调试。我创建了Dockerfile:用pycharm在docker中运行django

FROM python:3.6 

WORKDIR /usr/src/app 
COPY requirements.txt ./ 
RUN pip install -r requirements.txt 
COPY . . 
RUN python manage.py makemigrations 
RUN python manage.py migrate 

EXPOSE 8000 
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"] 

并成功使用docker build -t dockering .来创建图像。我可以查看:

$ docker ps -a 
CONTAINER ID  IMAGE          COMMAND     CREATED    STATUS       PORTS           NAMES 
58e102ea8aaf  dockering:1.0        "python -u /opt/.p..." 11 minutes ago  Created                   peaceful_babbage 
b10984d7f177  9adf577a7852         "python manage.py ..." 12 minutes ago  Exited (137) 8 minutes ago 

而且随着docker run -p 8000:8000运行它,并顺利进入我的本地主机:8000。但是,当我尝试在PyCharm中执行此操作时,似乎无法找到正确的图像。

我已经设置了正确的解释器设置:

Settings

并成立了命令:

Command

然而,当我尝试运行它,我有:

890e40a906dd:python -u /opt/project/manage.py ru nserver localhost:8000 执行系统检查...

系统检查发现没有问题(0沉默)。

您有13个未应用的迁移(s)。直到您为应用程序应用迁移:admin,auth,contenttypes, 会话之前,您的项目可能无法正常工作 。运行'python manage.py migrate'来应用它们。 August 01, 2017 - 08:47:56 Django版本1.11,使用设置 'dockering.settings'在 处启动开发服务器http://localhost:8000/使用CONTROL-C退出服务器。

正如你可以想象进入localhost:8000告诉我网站无法正常工作。我错过了什么?

回答

0

我有一个类似的问题,因为我的manage.py runserver指向0.0.0.0:8000,而PyCharm中的Django配置指向localhost。当我将它们全部设置为0.0.0.0:8000时,它工作。