带有Docker镜像的PyCharm在运行命令中返回“处理以退出代码128结束”

我正在尝试完成这个非常基础的教程。 这是如何在PyCharm中运行Docker镜像作为远程解释器的一个简短的补充。 我正在使用Win7和最新的PyCharm版本。 首先我遇到了path问题,但现在玩了一段时间后,看起来像这样:

  • 环境variables: DJANGO_SETTINGS_MODULE(djangotestone.settings)&PYTHONUNBUFFERED(1)
  • 工作目录: \ C \ Users \ Passanova \ PycharmProjects \ djangotestone \ djangotestone
  • path映射: / C / Users / Passanova / PycharmProjects / djangotestone = / opt / project
  • Docker容器设置: -v / C / Users / Passanova / PycharmProjects / djangotestone:/ opt / project

所以现在当我试着跑comannd时,我得到以下回报:

1f52b930ec0f:python -u C:/Users/Passanova/PycharmProjects/djangotestone/manage.py runserver 8000 Process finished with exit code 128 

服务器不启动,我无法通过docker ps -l来validation容器。 每当我按RUNbutton,新的容器就像预期的那样被创build,但是它永远不会做这个工作,我永远无法validation它。 作为回报,我可以通过docker run -it <img> /bin/bash$python --help确定。 在terminaldocker run minimum/docker-django-mysite python --help也不错。

这是我的debugging结果:

 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选项是什么意思,但是我注意到在使用本地解释器运行时不会显示它。 还有一件事。 它看起来像修改后,我逃脱了大部分的path错误。 但是在Python控制台下,我仍然有:

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

任何帮助appriciated

PyCharm似乎抱怨说,一旦进入Docker实例,目录C:/ Users / Passanova / PycharmProjects / djangotestone不存在 – 它只存在于主机上。

您可以运行“docker exec”将shell运行到该docker实例中,并查看manage.py脚本的绝对path。 例如,我有一个docker实例运行redis,我可以看到,在我的情况下,所有文件将是'/ data'的顶级目录:

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

如果您将“docker exec”放入运行和实例中,则应该能够find您的manage.py脚本,然后从容器的angular度能够找出绝对path。 HTH