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 root@127.0.0.1 -p 8089
root: 容器内部系统的root帐号,不是服务器的用户帐号127.0.0.1:服务器本机ip,也可以通过ifconfig查看对应实际ip4地址-p 8089: 该端口号是链接容器端口22的映射端口,外部链接使用.
然后输入第二步设计好的密码,进入容器成功。
这样就测试链接成功了.接下来就是windows系统的pycharm连接容器了.
二、配置pycharm并连接docker容器
1. Configuration配置远程连接



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

路径映射:

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

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




设置好python解释器就可以run代码了
这里要注意一下,代码所要的运行环境还需要在docker容器安装配置好,比如我这里需要pytorch环境以及python代码运行所需的依赖库都已经在docker容器中通过pip安装好了。
设置好python解释器就可以run代码了。
参考原文::pycharm 远程连接docker容器调试程序
相关文章:
Pycharm 对容器中的 Python 程序断点远程调试
pycharm如何连接远程服务器的docker容器有两种方法: 第一种:pycharm通过ssh连接已在运行中的docker容器 第二种:pycharm连接docker镜像,pycharm运行代码再自动创建容器 本文是第一种方法的教程,第二种请点击以上的链接…...
自动驾驶行业观察之2023上海车展-----车企发展趋势(3)
合资\外资发展 宝马:i7、iX1新车亮相,未来将持续发力电动化、数字化(座舱) 宝马在本次车展重点展示了电动化产品,新发车型为i7 M70L、iX1、及i vision Dee概念车等车型。 • 展示重点:电动化数字化&#…...
day55【动态规划子序列】392.判断子序列 115.不同的子序列
文章目录 392.判断子序列115.不同的子序列 392.判断子序列 题目链接:力扣链接 讲解链接:代码随想录讲解链接 题意:给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不…...
c语言中磁盘文件的分类
#include <stdio.h> /*磁盘文件的分类: * 一个文件通常是磁盘上一段命名的存储区计算机的存储在物理上是二进制的, * 所以物理上所有的磁盘文件本质上都是一样的:以字节为单位进行顺序存储 * 从用户或者操作系统使用的角度(…...
Unity适配微信
使用的是微信开发的插件 GitHub - wechat-miniprogram/minigame-unity-webgl-transform 路径相关: Unity:Application.streamingAssetsPath --> 配置的cdn路径StreamingAssets...
虚拟机本地磁盘在线扩容
背景 虚拟机本地盘对于host物理机来说就是一个LVM卷,虚拟化(libvirt+kvm_qemu)已经支持虚拟机磁盘在线调整,配合物理机lvm管理工具可实现云场景下虚拟机磁盘在线扩容功能。环境检查 (1)虚拟机本地盘信息 <disk type=block device=disk><driver...
ACTIVE_MQ学习
ActiveMq学习①___入门概述https://blog.csdn.net/qq_45905724/article/details/131796502 ActiveMq学习②__安装与控制台https://blog.csdn.net/qq_45905724/article/details/133893214 ActiveMq学习③___Java编码实现ActiveMQ通讯https://blog.csdn.net/qq_45905724/articl…...
【C++初阶】类和对象(上)
【C初阶】类和对象(上) 1.面向对象与面向过程的初步认识2.类的引入3. 类的定义4.类的访问限定符及封装4.1访问限定符4.2封装 5.类的作用域6.类的实例化6.类的对象的大小计算7.类的this指针7.1this指针的引入7.2this指针的一些特性 📃博客主页…...
新版onenet平台安全鉴权的确定与使用
根据onenet官方更新的文档:平台提供开放的API接口,用户可以通过HTTP/HTTPS调用,进行设备管理,数据查询,设备命令交互等操作,在API的基础上,根据自己的个性化需求搭建上层应用。 为提高API访问安…...
容器核心技术-Namespace
一、容器 基于Linux 内核的 Cgroup, Namespace,以及Union FS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术,由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。 1.1 容器主要特性…...
linux写文件如何保证落盘?
3.1.1. sync sync函数只是将所有修改过的块缓冲区排入写队列,然后就返回,它并不等待实际写磁盘操作结束。通常称为 update的系统守护进程会周期性地(一般每隔30秒)调用sync函数。这就保证了定期冲洗内核的块缓冲区。命令 sync也…...
2023 electron最新最简版打包、自动升级详解
这里我将讲解一下从0搭建一个electron最简版架子,以及如何实现打包自动化更新 之前我有写过两篇文章关于electron框架概述以及 常用api的使用,感兴趣的同学可以看看 Electron桌面应用开发 Electron桌面应用开发2 搭建electron 官方文档:ht…...
ConcurrentHashMap是如何实现线程安全的
目录 原理: 初始化数据结构时的线程安全 put 操作时的线程安全 原理: 多段锁cassynchronize 初始化数据结构时的线程安全 在 JDK 1.8 中,初始化 ConcurrentHashMap 的时候这个 Node[] 数组是还未初始化的,会等到第一次 put() 方…...
MYSQL:索引与锁表范围简述
一、聚簇索引原则 当有主键索引时,选择主键索引;如果没有主键索引,选择第一个的unique索引;如果都没有就选择隐藏生成的ROW_ID。 二、加锁原则 来自知乎MySQL探秘(七):InnoDB行锁算法 - 知乎 (zhihu.com) 在不通过索引条件查询时…...
15 款 PDF 编辑器帮助轻松编辑、合并PDF文档
PDF 编辑器在当今的数字环境中至关重要,因为 PDF 已成为共享和存储信息的首选格式。只需几分钟,可靠的 PDF 编辑器即可让用户能够根据其特定需求修改、定制和定制文档。在本文中,我们全面汇编了 15 款最佳免费 PDF 编辑器,让您可以…...
PS Raw中文增效工具Camera Raw 16
Camera Raw 16 for mac(PS Raw增效工具)的功能特色包括强大的图像调整工具。例如,它提供白平衡、曝光、对比度、饱和度等调整选项,帮助用户优化图像的色彩和细节。此外,Camera Raw 16的界面简洁易用,用户可…...
Flink源码解析二之执行计划⽣成
JobManager Leader 选举 首先flink会依据配置获取RecoveryMode,RecoveryMode一共两两种:STANDALONE和ZOOKEEPER。 如果用户配置的是STANDALONE,会直接去配置中获取JobManager的地址如果用户配置的是ZOOKEEPER,flink会首先尝试连接zookeeper,利用zookeeper的leadder选举服务发现…...
MySQL遍历所有表所有字段查找字符数据
MySQL遍历所有表所有字段查找字符数据 工作中有一些数据查找,但是在那个库那个表那个字段中并不明确,特别是敏感字符查找,如果数据量并不大,我们可以采用遍历整个库、表中字符来查找相关数据来解决该问题。 我们可以写一个存储过…...
Java中的异常处理机制是怎样的?
Java中的异常处理机制主要包括以下几个部分: 异常类(Exception Class):Java中的异常类继承自java.lang.Throwable,主要分为两大类:Error和Exception。Error表示程序无法处理的严重问题,如系统崩…...
高教社杯数模竞赛特辑论文篇-2023年A题:定日镜场的优化设计(附获奖论文及MATLAB代码实现)
目录 摘 要 一、 问题重述 1.1 问题背景 1.2 问题重述 二、 模型假设 三、 符号说明...
uRDFLib:面向嵌入式设备的轻量级CBOR-RDF库
1. uRDFLib项目概述uRDFLib是一个专为资源受限嵌入式设备设计的轻量级RDF(Resource Description Framework)库,其核心目标是替代传统Python生态中功能完备但内存与计算开销巨大的RDFLib。该库并非简单裁剪,而是从底层重构数据模型…...
综合能源系统多时间尺度优化调度!诸多创新点
✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。👇 关注我领取海量matlab电子书和数学建模资料🍊个人信条:格物致知,完整Matl…...
DOM DocumentImpl:深入解析文档对象模型的核心实现
DOM DocumentImpl:深入解析文档对象模型的核心实现 引言 在Web开发领域,DOM(文档对象模型)是前端开发的基础,它允许开发者通过JavaScript操作HTML文档。DOM DocumentImpl是DOM的核心实现之一,它提供了丰富的API来操作文档结构。本文将深入解析DOM DocumentImpl,帮助开…...
Docker 完全指南:从入门到生产级实践
一篇长文,彻底搞懂 Docker、Compose 与 Swarm容器技术已经成为现代软件交付的基石。无论是开发者、运维工程师,还是架构师,掌握 Docker 都是必备技能。本文将系统介绍 Docker 的核心概念、多容器编排、集群管理,以及从开发到生产的…...
算法解析 | 深入EGO Planner:无ESDF的实时避障与轨迹优化
1. EGO Planner的核心创新:告别ESDF的实时避障革命 第一次接触EGO Planner时,最让我惊讶的是它居然完全抛弃了传统路径规划中视为"标配"的ESDF(欧几里得符号距离场)。这就像看到有人不用GPS导航,仅凭直觉就能…...
s2-pro开源TTS模型深度解析:Fish Audio专业级架构与训练逻辑
s2-pro开源TTS模型深度解析:Fish Audio专业级架构与训练逻辑 1. 专业级语音合成模型概述 s2-pro是Fish Audio团队开源的一款专业级文本转语音(TTS)模型镜像,代表了当前开源语音合成技术的先进水平。与普通TTS系统不同,s2-pro不仅支持常规的…...
ai一键生成node.js环境配置教程,快马平台助你跳过繁琐安装步骤
最近在学习Node.js开发时,发现环境配置这个入门步骤对新手来说确实有点麻烦。不同操作系统下的安装方式差异大,版本选择也让人纠结。好在发现了InsCode(快马)平台的AI辅助开发功能,可以自动生成完整的配置教程,分享下我的使用体验…...
西门子200Smart PLC的Modbus RTU主站自动轮询库:简化你的工业通信
西门子200Smart modbus rtu主站自动轮询库 used管脚为启用,其它管脚和西门子自带的指令一样使用及功能,调用后就不需要关心modbus轮训,功能块自己处理,简化200smart在工业自动化领域,Modbus RTU协议依然是设备之间通信…...
如何解决微信QQ语音无法播放?Silk音频转换工具让跨设备播放不再难
如何解决微信QQ语音无法播放?Silk音频转换工具让跨设备播放不再难 【免费下载链接】silk-v3-decoder [Skype Silk Codec SDK]Decode silk v3 audio files (like wechat amr, aud files, qq slk files) and convert to other format (like mp3). Batch conversion su…...
DPU应用场景系列(二)存储加速与数据卸载
1. 为什么存储需要DPU加速? 想象一下你正在用手机拍摄4K视频,每秒钟产生的数据量相当于几百张高清照片。现在把这个场景放大到数据中心——成千上万的服务器每天要处理数PB级别的数据(1PB100万GB),传统的存储架构就像用…...
