Pycharm 对容器中的 Python 程序断点远程调试

pycharm如何连接远程服务器的docker容器有两种方法:

第一种:pycharm通过ssh连接已在运行中的docker容器

第二种:pycharm连接docker镜像,pycharm运行代码再自动创建容器

本文是第一种方法的教程,第二种请点击以上的链接

条件:

(1)准备好pycharm专业版,社区版没有连接远程服务器的功能

(2)远程服务器ubuntu,已安装好docker

一、配置远程服务器的docker容器

  1. 启动并运行交互式容器

(1)如果docker版本在19.03或以上,運行

复制代码
docker run -itd --shm-size=8G -entrypoint="" -p 8089:22 --name="pgf_train" --gpus all -v /home/th/PycharmProjects/qa/:/workspace/qa pytorch/pytorch:1.4-cuda10.1-cudnn7-runtime /bin/bash

(2)如果docker版本在19.03以下,運行

复制代码
docker run -itd --shm-size=8G -entrypoint=""  -p 8089:22 --name="pycharm_train2" -e NVIDIA_VISIBLE_DEVICES=2,3  -v /mnt/inspurfs/user-fs/panguofeng:/pgf_api pytorch/pytorch:1.4-cuda10.1-cudnn7-runtime /bin/bash

这里需要映射主机端口到容器端口,后续就是通过端口来连通容器的。

复制代码
-p 8089:22:这里主机端口8089(pycharm映射端口), 容器端口是22

--shm-size=8G -共享内存设置,提升cpu到gpu数据传输的效率

--gpus all -容器创建所使用的gpu数量;

-e NVIDIA_VISIBLE_DEVICES=2,3

2.进入交互后修改容器的root密码

复制代码
passwd

3、给容器安装openssh-server和openssh-client

复制代码
$ apt-get install openssh-server
$ apt-get install openssh-client

如果出现问题,运行命令更新源:

复制代码
apt-get -y update

4、修改SSH配置文件

复制代码
vim /etc/ssh/sshd_config

打开sshd_config文件后,在文件最后面添加以下内容:

复制代码
PermitRootLogin yes #允许root用户使用ssh登录

5、重启ssh服务

复制代码
/etc/init.d/ssh restart

6.退出容器,链接测试

复制代码
ssh [email protected] -p 8089

root: 容器内部系统的root帐号,不是服务器的用户帐号

127.0.0.1:服务器本机ip,也可以通过ifconfig查看对应实际ip4地址

-p 8089: 该端口号是链接容器端口22的映射端口,外部链接使用.

然后输入第二步设计好的密码,进入容器成功。

这样就测试链接成功了.接下来就是windows系统的pycharm连接容器了.

二、配置pycharm并连接docker容器

1. Configuration配置远程连接

创建SFTP服务docker_test, 参考以上截图填写。

路径映射:

  1. 上传本地代码数据到docker容器中并运行

上传完代码数据后, 需要选择设置python编译器:

设置好python解释器就可以run代码了

这里要注意一下,代码所要的运行环境还需要在docker容器安装配置好,比如我这里需要pytorch环境以及python代码运行所需的依赖库都已经在docker容器中通过pip安装好了。

设置好python解释器就可以run代码了。

参考原文::pycharm 远程连接docker容器调试程序

相关推荐
且慢.58918 分钟前
Python_day47
python·深度学习·计算机视觉
佩奇的技术笔记26 分钟前
Python入门手册:异常处理
python
大写-凌祁35 分钟前
论文阅读:HySCDG生成式数据处理流程
论文阅读·人工智能·笔记·python·机器学习
爱喝喜茶爱吃烤冷面的小黑黑1 小时前
小黑一层层削苹果皮式大模型应用探索:langchain中智能体思考和执行工具的demo
python·langchain·代理模式
Blossom.1182 小时前
使用Python和Flask构建简单的机器学习API
人工智能·python·深度学习·目标检测·机器学习·数据挖掘·flask
Love__Tay3 小时前
【学习笔记】Python金融基础
开发语言·笔记·python·学习·金融
我命由我123453 小时前
VSCode - VSCode 放大与缩小代码
前端·ide·windows·vscode·前端框架·编辑器·软件工具
有风南来3 小时前
算术图片验证码(四则运算)+selenium
自动化测试·python·selenium·算术图片验证码·四则运算验证码·加减乘除图片验证码
wangjinjin1803 小时前
Python Excel 文件处理:openpyxl 与 pandas 库完全指南
开发语言·python
Yxh181377845544 小时前
抖去推--短视频矩阵系统源码开发
人工智能·python·矩阵