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容器调试程序

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/161331.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker与微服务实战——基础篇

Docker与微服务实战——基础篇 第一章 Docker 简介1.1 docker 理念1.2 容器与虚拟机比较 第二章 Docker 安装2.1 前提说明2.2 Docker的基本组成2.2.1 镜像(image)2.2.2 容器(container)2.2.3 仓库(repository&#xff…

看!MySQL 8.2 数据库支持读写分离啦!

更多文章,欢迎关注作者公众号,欢迎一起交流。 MySQL 8.2.0创新版本已于2023-10-17发布,MySQL Router 8.2 支持数据库的读/写分离,这里将在InnoDB Cluster集群中演示数如何进行读写分离,本篇内容包括:MySQL …

Python基础入门例程50-NP50 程序员节(循环语句)

最近的博文: Python基础入门例程49-NP49 字符列表的长度-CSDN博客 Python基础入门例程48-NP48 验证登录名与密码(条件语句)-CSDN博客 Python基础入门例程47-NP47 牛牛的绩点(条件语句)-CSDN博客 目录 最近的博文&a…

[BUUCTF NewStar 2023] week5 Crypto/pwn

最后一周几个有难度的题 Crypto last_signin 也是个板子题,不过有些人存的板子没到,所以感觉有难度,毕竟这板子也不是咱自己能写出来的。 给了部分p, p是1024位给了922-101位差两头。 from Crypto.Util.number import * flag b?e 655…

虚幻C+++基础 day2

角色移动与视角控制 Character类与相关API 创建Character子类MainPlayer.h // Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h" #include "GameFramework/Character.h" #include &q…

Linux学习第32天:Linux INPUT 子系统实验(一):接纳

Linux版本号4.1.15 芯片I.MX6ULL 大叔学Linux 品人间百味 思文短情长 题目中用了“接纳”俩字。其实学习就是一个接纳的过程。接纳新的知识,从而转化为自己知识宝库的一部分。那今天学习的input子系统和今天的主题接纳有…

C++入门指南:string类文档详细解析(非常经典,建议收藏)

C入门指南:string类 一、 string类解读二、 string类的常用接口说明2.1 string类对象的常见构造2.2 string类对象的容量操作2.3 string类对象的访问及遍历操作2.4 string类对象的修改操作2.5 string类非成员函数 一、 string类解读 string类文档 具体如下&#xff…

论文阅读——What Can Human Sketches Do for Object Detection?(cvpr2023)

论文:https://openaccess.thecvf.com/content/CVPR2023/papers/Chowdhury_What_Can_Human_Sketches_Do_for_Object_Detection_CVPR_2023_paper.pdf 代码:What Can Human Sketches Do for Object Detection? (pinakinathc.me) 一、 Baseline SBIR Fram…

eBPF BCC开源工具简介

目录 官方链接 编译安装 ubuntu版本 安装 examples tools hello_world.py demo 运行报错 网上目前的解决办法 错误分析过程 python版本检测 libbcc库检查 python3 bcc库检查 正常输出 监控进程切换 运行输出 监控CPU直方图 缓存命中率监控:caches…

uni-app学习笔记

目录 一、前期准备 1、项目认识 2、pages.json基本配置 3、创建页面 二、tabBar 1、获取图标 2、代码配置 三、基础认识 1、页面生命周期 2、App.vue应用生命周期 四、基础组件 1、scroll-view可滚动视图区域 2、提示框 3、swiper滑块视图容器 4、form表单组件 一…

5.数据表基本操作

目录 1.创建数据表 创建数据表的语法格式: 查看当前数据库的表: 主键 1.单字段主键 (1)在定义列的同时指定主键,语法规则如下: (2)在定义完所有列之后指定主键。 2.多字段联合主键 外键: 非空约束&#xff1…

uniapp: 前端利用百度云OCR实现文字识别(身份证识别功能,别的功能类似)

第一章 前言 介绍如何使用百度智能云实现我们想要的效果,需要在下面这个网址注册账号: 百度智能云-云智一体深入产业 使用文档在该网址上: 简介 - 文字识别OCR 请求成功的效果,如下图: 搜索产品(例如文字…