pycharm专业版远程调试docker

     场景是这样子:笔记本(ubuntu18.04_192.168.1.2)上安装了pycharm专业版,然后远程调试gpu服务器(ubuntu18.04_192.168.1.3)上的python脚本.

因为默认docker启动后默认没有提供端口访问,在安全性不严格的情况下可以添加一个2375端口,使得其他电脑可以通过该端口访问docker api.可以参考如下操作

1、修改docker服务文件

sudo vim /lib/systemd/system/docker.service

2、找到“ExecStart=/usr/bin/dockerd”,在 dockerd 后添加

-H tcp://0.0.0.0:2375

修改后该行类似如下:

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H fd:// --containerd=/run/containerd/containerd.sock

3 重启docker 服务

sudo systemctl daemon-reload  #重新加载服务的配置文件
sudo service docker restart #重启docker服务

接下来在pycharm 中操作

1,新建一个远程python解释器,依次点击 File-Settings-Project:untitled1-Project Interpreter,然后点击右上角的齿轮 Add...

选择 Docker ,点击右侧的 New

 

name输入一个名称,选择 TCP socket方式在Engine API URL中输入http://192.168.1.3:2375,正常情况下会看到 Connection successful

用下拉箭头选择需要的docker镜像(注意此处为演示,Server和上一步的Name:gpu不一致,只是截图时间的原因.)

点击OK应该就可以看到此镜像的python包信息

确保Console中Python Console的解释器和项目解释器一致,点击 OK,完成添加远程docker解释器的步骤.

接下来需要配置部署,以实现代码同步的功能,依次点击 Tools-Deployment-Configuration,再点击左上角的+

在Connection选项页中填入 gpu服务器的IP,ssh端口,用户名,密码,

接着在 Mappings(映射)中填写映射信息,即将本地的代码通过sftp上传到gpu的路径.点击OK

接下来新建一个python脚本测试

输入随意内容

然后添加一个调试配置,首先添加Path mappings,Local path(本机项目的路径),Remote path(gpu服务器上的路径,需要和之前的Deployment Path一致)

继续设置 Docker Container settings,添加一个Volume bindings,其中Container path可以任意,Host path需要和之前的Deployment Path一致.

完成后如下所示(不要勾选Run with Python Console!!!),点击OK.

点击右上角的运行后即可远程在docker镜像中运行python脚本.

以上就是用pycharm远程调试docker中python脚本的步骤.记录一下方便自己后续查阅.

### PyCharm Professional Edition 的远程开发功能及其使用教程 #### 什么是 PyCharm Remote Development? PyCharm Professional Edition 提供了一项名为 **Remote Development** 的功能,该功能使开发者能够在远程服务器、虚拟机、Docker 容器或 WSL 上进行开发工作,而无需在本地机器上完全配置复杂的开发环境[^2]。 此功能通过 SSH 协议连接到目标主机,并支持实时同步文件更改以及运行调试操作。这使得开发者可以轻松管理分布式团队协作中的代码库或者利用更强大的计算资源完成复杂任务。 --- #### 配置与使用流程 以下是关于如何启用并有效运用 PyCharm远程开发能力的具体指南: 1. #### 下载与安装 用户需先获取 PyCharm Professional Edition 并成功激活其许可证才能访问完整的特性集,包括 Remote Development 工具链[^1]。 2. #### 设置远程解释器 打开项目的 `Settings` 或者 `Preferences` 对话框,在左侧导航栏找到 `Build, Execution, Deployment -> Python Interpreter` 节点。点击齿轮图标选择 “Add...”,接着从弹出菜单里挑选基于 SSH 的选项来指定远端位置上的 Python 解析引擎路径。 ```bash ssh user@remote_host_address ``` 3. #### 映射目录结构 当创建新的部署条目时,定义好本地图形界面下的源码根目录同远程存储区域之间的映射关系至关重要。这样能够保证每次保存修改都会自动上传至对应的服务端副本。 4. #### 启动调试会话 利用内置断点机制测试应用程序逻辑变得异常简单——只需右键单击任意可执行脚本名称旁边的小箭头按钮即可触发一次全新的交互过程;与此同时,IDE 将负责加载必要的依赖包版本号信息以便于精确匹配实际运行状况下所使用的库组件集合。 5. #### 整合 VCS (Version Control System) 如果项目已经托管在一个 Git/SVN 库当中,则可以通过插件形式进一步增强工作效率:比如直接提交改动记录给上游分支仓库等等。 --- ```python # 示例代码片段展示简单的 Flask Web App 创建方式 from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello from remote server!' if __name__ == '__main__': app.run(host='0.0.0.0', port=8080) ``` 上述例子展示了怎样快速搭建起一个基础级别的 HTTP 请求处理器实例,当将其部署到云端之后便可通过浏览器直观验证成果效果了! --- #### 总结说明 借助 PyCharm Professional Edition 中集成的 Remote Development 特性,软件工程师们不再局限于单一的工作站局限之内开展日常编程活动。相反地,他们现在拥有了更大的灵活性去适应各种不同的场景需求变化趋势,从而显著提升整体生产力水平。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值