正如标题中所指定的,我尝试在 LAN 中的远程服务器上托管的 Docker 计算机中使用 Pycharm Professional (2018.2) 和 python 远程解释器。我按照帮助创建了一个非常简单的示例'https://www.jetbrains.com/help/pycharm/using-docker-as-a-remote-interpreter.html https://www.jetbrains.com/help/pycharm/using-docker-as-a-remote-interpreter.html'.
- Pycharm 2018.2 安装在 debian 发行版的 LAN 电脑 (192.168.1.10) 上;
- Docker安装在局域网debian服务器上(192.168.1.22)
我能够将 Docker 配置为远程解释器,通过 Pycharm 工具连接 Docker 服务,但是当我尝试在 Docker 容器中运行(或调试)main.py 时,我总是得到以下信息:
37073edcd9d2:python -u /opt/project/main.py (null): can't open file '/opt/project/main.py': [Errno 2] No such file or directory
Process finished with exit code 2
执行肯定是在远程Docker容器中完成的,但是好像没有找到要执行的文件。我按照各种博客上的描述手动附加了本地卷,其中包含所有可能的变化,但我总是遇到相同的错误。
这些是我的配置的一些规格:docker工具设置 https://i.stack.imgur.com/cK9yd.png
项目解释器设置 https://i.stack.imgur.com/jiwKi.png
运行/调试配置 https://i.stack.imgur.com/LYrv5.png
docker 容器设置,其中卷映射到运行/调试配置 https://i.stack.imgur.com/yQh6e.png
是不是缺少了什么?
坦克。任何帮助表示赞赏!
问题在于 Pycharm 在“幕后”管理远程主机上的 docker 机器的“限制”。在运行/调试配置中插入卷映射时,它被解释为本地路径,因此在本例中,该路径必须存在于远程服务器上。所以,目前唯一的选择是先通过 SSHFS 或 NFS 服务共享,将本地路径(项目所在的文件夹)挂载到 Docker 服务的远程主机上。
所以...(1)我使用NFS共享Pycharm项目文件夹(本机ip 192.168.1.10); (2)我在服务器主机上挂载了共享文件夹(在服务器ip 192.168.1.22上;mount -t nfs 192.168.1.10:/home/user/PythonProjects /home/ext-user/mnt/projects
)然后(3)在Pycharm的运行/调试配置中,我将卷映射到远程服务器上安装的路径...运行...程序现在运行没有任何错误。 [运行结果 https://i.stack.imgur.com/xL6ee.png]
这些是我的新配置的一些规格:
运行/调试配置 https://i.stack.imgur.com/SSAwQ.png
docker 容器设置,其中卷映射到运行/调试配置 https://i.stack.imgur.com/L3M88.png
我希望该解决方案对其他人有用。我也希望有比我更好的解决方案:-)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)