带有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