VsCode调试远程服务器上面的Docker容器

第一步 VsCode 连接ssh

  1. 下载安装VsCode(Visual Studio Code),首次安装会提示你安装Chinese(Simplified)中文简体,安装完后重新打开就是汉化界面了。
  2. 在左边侧边栏找到扩展选项,然后安装Remote Development插件,里面包含了Remote SSHWSLDev ContainersRemote - Tunnels四个插件。

    image.png

  3. 安装后你的左边侧边栏就会出现远程资源管理器了,然后切换到远程(隧道/SSH),鼠标移到下面的SSH,就会出现一个+号了,点击一下+号。

    image.png

  4. 提示需要输入ssh命令。输入示例:ssh root@xxx.xxx.xxx.xxx 即可。root是服务器用户名,xxx.xxx.xxx.xxx是远程ip地址。输入完后回车

    image.png

  5. 回到刚刚到界面,点击图片刷新一下,就可以看到你刚刚输入的ip地址了。右键这个ip,选择在当前窗口中连接即可。

    image.png

  6. 后面会让你输入密码,每次打开都要输入。可以参考一下附录ssh免密配置,强烈建议去配置一下,大概几分钟可以搞定,后续会方便很多。

第二步,启动容器服务

  1. 下面以trt2023复赛为例。在服务器终端,先clone一下你的代码,然后进入你的代码目录。
  2. 创建并后台启动docker容器:
docker run --gpus all \--name trt2023 \-d \--ipc=host \--ulimit memlock=-1 \--restart=always \--ulimit stack=67108864 \-v ${PWD}:/root/workspace/trt2023 \[镜像名称] sleep 8640000

第三步,VsCode连接容器

  1. VsCode侧边栏选择远程资源管理器,然后下拉框选择开发容器,点击一下刷新(如果没配置ssh免密,就需要输入一下密码)。

    image.png

  2. 选中刚刚到容器,选择在当前窗口中附加即可。

    image.png

  3. 然后打开你刚刚映射的目录/root/workspace/trt2023即可。
  4. 安装一下Python插件,即可开始享受愉快的编码调试过程了。

其他

ssh免密登录配置
  1. 本机生成ssh key,一路回车即可。若本机已经生成过了,则可以忽略。
ssh-keygen
  1. 复制本机公钥。
  • for Linux/Mac
cat ~/.ssh/id_rsa.pub
  • for Windows。去文件管理器,一般在C:\user\xxxx\.ssh目录下,如果看不到.ssh目录,则可能需要打开隐藏文件显示。然后用记事本打开id_rsa.pub文件,copy里面的内容即可。
  1. 连接到远程服务器(注意是连服务器,不是连服务器的容器)。然后做以下配置。
  • 创建.ssh目录,如果目录已经存在则可以忽略。
mkdir ~/.ssh
  • 看看authorized_keys文件是否存在(不存在可以用touch ~/.ssh/authorized_keys命令手动创建一个),并且观察其权限是否ok。
ls -lh ~/.ssh/authorized_keys
  • 输出下面这个说明是ok的,-rw说明是root用户可读可写,组用户和宾客用户都不行。
-rw------- 1 root root
  • 如果你实在不确定是不是ok,暴力一下,直接重新给他授权即可。
chmod 600 ~/.ssh/authorized_keys
  1. 将你之前复制的公钥粘贴到刚刚到授权文件里面。可以用下面的命令一键完成。
echo "你的公钥内容xxxx" >> ~/.ssh/authorized_keys
  1. 到这一步基本是ok了,如果不ok,则需要检查一下ssh配置。
  • 编辑ssh配置
vim /etc/ssh/sshd_config
  • 修改前
#StrictModes yes
#AuthorizedKeysFile .ssh/authorized_keys
PermitRootLogin prohibit-password
  • 修改后
StrictModes no
AuthorizedKeysFile .ssh/authorized_keys
PermitRootLogin yes

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

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

相关文章

Redis中的Lua脚本(三)

Lua脚本 EVAL命令的实现 EVAL命令的执行过程可以分为以下三个步骤: 1.根据客户端给定的Lua脚本,在Lua环境中定义一个Lua函数2.将客户端给定的脚本保存到lua_scripts字典,等待将来进一步使用3.执行刚刚在Lua环境中定义的函数,以此来执行客户…

数据应用OneID:ID-Mapping Spark GraphX实现

前言 说明 以用户实体为例,ID 类型包含 user_id 和 device_id。当然还有其他类型id。不同id可以获取到的阶段、生命周期均不相同。 device_id 生命周期通常指的是一个设备从首次被识别到不再活跃的整个时间段。 user_id是用户登录之后系统分配的唯一标识&#xff…

【详细介绍下图搜索算法】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

NLP问答系统:使用 Deepset SQUAD 和 SQuAD v2 度量评估

目录 一、说明 二、Deepset SQUAD是个啥? 三、问答系统(QA系统),QA系统在各行业的应用及基本原理 3.1 医疗 3.2 金融 3.3 顾客服务 3.4 教育 3.5 制造业 3.6 法律 3.7 媒体 3.8 政府 四、在不同行业使用QA系统的基本原理 五、关于…

使用自己训练好的模型YOLOv8进行X-AnyLabeling自动标注

目录 1. 下载项目2. 创建环境3. 运行程序3.1 自行下载和添加官方模型3.2 使用自己训练好的模型标注自己的数据集 本机环境:win 10, GPU 1. 下载项目 git clone https://github.com/CVHub520/X-AnyLabeling.git2. 创建环境 仔细查看项目的README文件 …

游游的you矩阵

题目: 游游拿到了一个字符矩阵,她想知道有多少个三角形满足以下条件: 三角形的三个顶点分别是 y、o、u 字符。三角形为直角三角形,且两个直角边一个为水平、另一个为垂直。 输入描述: 第一行输入两个正整数n,m&#…

Root mapping definition has unsupported parameters: [all : {analyzer=ik_max_wor

你们好,我是金金金。 场景 我正在使用Springboot整合elasticsearch,在创建索引(分词器) 运行报错,如下 排查 排查之前我先贴一下代码 import org.elasticsearch.action.admin.indices.create.CreateIndexRequest; // 注意这个包SpringBootTe…

文字转语音工具:GPT-SoVITS

诸神缄默不语-个人CSDN博文目录 OpenAI官方的TTS模型我在这篇博文中给出了使用教程:ChatGPT 3.5 API的调用不全指南(持续更新ing…) - 知乎 但是OpenAI的TTS对中文支持不好,有一种老外说中文的美,所以本文介绍另一个…

自己的事情自己做:使用 Python Turtle 绘制 Python Logo

以下代码中,将向你展示一个有趣的程序,如何使用 Python Turtle 中绘制 Python Logo。Python 翻译成汉语是蟒蛇的意思,Python 的 Logo 也是两条缠绕在一起的蟒蛇。 import turtlepen turtle.Turtle() turtle.bgcolor("black") pe…

ins视频批量下载,instagram批量爬取视频信息【爬虫实战课1】

简介 Instagram 是目前最热门的社交媒体平台之一,拥有大量优质的视频内容。但是要逐一下载这些视频往往非常耗时。在这篇文章中,我们将介绍如何使用 Python 编写一个脚本,来实现 Instagram 视频的批量下载和信息爬取。 我们使用selenium获取目标用户的 HTML 源代码,并将其保存…

Python路面车道线识别偏离预警

程序示例精选 Python路面车道线识别偏离预警 如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助! 前言 这篇博客针对《Python路面车道线识别偏离预警》编写代码,代码整洁,规则,易…

tsconfig.json文件常用配置

最近在学ts,因为tsconfig的配置实在太多啦,所以写此文章用作记录,也作分享 作用? tsconfig.jsono是ts编译器的配置文件,ts编译器可以根据它的信息来对代码进行编译 初始化一个tsconfig文件 tsc -init配置参数解释 …

HZNUCTF第五届校赛实践赛初赛 Web方向 WriteUp

ezssti 很简单的ssti 源码给了,调用Eval即可执行命令 package mainimport ("fmt""net/http""os/exec""strings""text/template" )type User struct {Id intName stringPasswd string }func (u User) Ev…

Python学习从0开始——项目一day01爬虫

Python学习从0开始——项目一day01爬虫 一、导入代码二、使用的核心库三、功能测试3.1初始代码3.2新建文件3.3代码调试 四、页面元素解析4.1网页4.2修改代码4.3子页面4.4修改代码 一、导入代码 在Inscode新建一个python类型的项目,然后打开终端,粘贴以下…

《七》布局QLayout类

QLayout简介 QLayout是由具体类 QBoxLayout、QGridLayout、QFormLayout 和 QStackedLayout继承的抽象基类。 对于 QLayout子类或 QMainWindow的用户,很少需要使用 QLayout 提供的基本功能,例如 setSizeConstraint() 或 setMenuBar()。Qt 布局系统提供了…

程序员购车指南

哈喽大家好,我是咸鱼。 爱车可以说是大部分男人的天性,而我对汽车的热情却远不及对手表的钟爱(痴迷劳力士)。以至于我的朋友掏出车钥匙指着上面的苹果树标志跟我介绍奔驰 AMG 系列的强劲性能和马力时,我只能尽量假装自…

【三维Dvhop定位】基于麻雀搜索算法的多通信半径和跳距加权的三维Dvhop定位算法【Matlab代码#81】

文章目录 【可更换其他算法,获取资源请见文章第6节:资源获取】1. Dvhop定位算法2. 麻雀搜索算法3. 多通信半径和跳距加权策略3.1 多通信半径策略3.2 跳距加权策略 4. 部分代码展示5. 仿真结果展示6. 资源获取 【可更换其他算法,获取资源请见文…

Oracle-TDE数据加密功能

1 Oracle TDE 1.1 TDE介绍 Oracle TDE是数据库层对存储的用户敏感数据进行的静态加密,加密数据满足主流的安全法规(如 PCI DSS)相关的加密要求,可以防止数据文件被其他非数据库读取方式访问的情况下(如通过工具直接打开读取数据文…

Java程序生成可执行的exe文件 详细图文教程

1.Java编辑器,如:idea、eclipse等,下载地址:IntelliJ IDEA: The Capable & Ergonomic Java IDE by JetBrainshttps://www.jetbrains.com/idea/2.exe4j,下载地址:ej-technologies - Java APM, Java Prof…

ansible-tower连接git实现简单执行playbook

前提:安装好ansible-tower和git,其中git存放ansible得剧本 其中git中得内容为: --- - name: yjxtesthosts: yinremote_user: rootgather_facts: noroles:- testroles/test/tasks/main.yml #文件内容 --- #- name: Perform Test Task # tas…