带有Docker图像的PyCharm返回"处理完成后退出代码128"在RUN命令

时间:2016-11-11 14:40:46

标签: docker pycharm

我正在尝试完成this非常基础的教程。它是如何在PyCharm中将Docker镜像作为远程解释器运行的简短描述。 我使用的是Win7和最新的PyCharm版本。 首先我遇到了路径问题,但现在玩了一会儿后他们看起来像这样:

  • 环境变量: DJANGO_SETTINGS_MODULE(djangotestone.settings) &安培; PYTHONUNBUFFERED(1)
  • 工作目录: \ C \ Users \用户Passanova \ PycharmProjects \ djangotestone \ djangotestone
  • 路径映射: / C /用户/ Passanova / PycharmProjects / djangotestone = /选择/项目
  • Docker容器设置: -v / C /用户/ Passanova / PycharmProjects / djangotestone中:/ opt /项目

所以现在当我尝试RUN的时候,我得到以下回报:

1f52b930ec0f:python -u C:/Users/Passanova/PycharmProjects/djangotestone/manage.py runserver 8000

Process finished with exit code 128

服务器无法启动,我无法通过docker ps -l验证容器。每次按下RUN按钮时,都会按预期创建新容器,但它永远不会完成任务并且我永远无法验证它。 作为回报,我docker run -it <img> /bin/bash$python --help可以。 终端docker run minimum/docker-django-mysite python --help也很好。

这是我的调试结果:

ad0418d30d5a:python -u /opt/.pycharm_helpers/pydev/pydevd.py --multiproc --qt-support --save-threading --save-asyncio --client 10.0.2.2 --port 19383 --file C:/Users/Passanova/PycharmProjects/djangotestone/manage.py runserver 8000

Process finished with exit code 128

我甚至尝试更改图像,因为Django:最新 - 没有效果。

我不确定-u选项的含义,但我注意到在使用本地解释器运行时没有显示。 还有一件事。看起来在修改了拍子后我逃脱了大部分路径错误。但是在Python控制台下我仍然有:

Error:{"message":"The working directory 'C:/Users/Passanova/PycharmProjects/djangotestone' is invalid. It needs to be an absolute path"}

任何有用的帮助

1 个答案:

答案 0 :(得分:0)

好像PyCharm抱怨说,一旦进入Docker实例,目录C:/ Users / Passanova / PycharmProjects / djangotestone就不存在了 - 它只存在于你的主机上。

你可以运行'docker exec'来运行一个shell到该docker实例,看看manage.py脚本的绝对路径是什么。例如,我有一个运行redis的docker实例,我可以看到在我的情况下所有文件所在的顶级目录是'/ data':

[root@ip-10-0-1-1 ~]# docker exec -it sentry_redis_1 /bin/sh
/data # pwd
/data
/data # ls
dump.rdb

如果你'docker exec'进入你的运行和实例,你应该能够找到你的manage.py脚本,然后能够从容器的点找出它的绝对路径。视图。 HTH