VS Code基于服务器中的docker的开发环境配置

news/2024/11/24 21:27:55/

VS Code基于服务器中的docker的开发环境配置

  • 基于Dev Containers插件
  • 基于Jump Machine(跳板机)
    • 服务器通过ssh连接docker容器
    • VS Code配置ssh config文件连接docker容器

基于Dev Containers插件

当然可以在vscode中直接下载Dev Containers插件,在连接到服务器之后,在Dev Containers中找到相应的docker连接后直接进行开发。


此时你就会看到你服务器上所有正在运行的docker容器(必须要保证你想要开发的docker容器此时的状态是正在运行),然后点击对应的docker容器连接即可,之后的操作就和remote-ssh连接服务器操作一致了。

基于Jump Machine(跳板机)

跳板机可以理解为将服务器作为一个跳板,然后通过这个跳板连接到服务器中的docker容器。

服务器通过ssh连接docker容器

注意服务器连接docker容器可以直接通过docker exec -it <docker_container> /bin/bash,此处演示用ssh连接docker容器

ssh -p <port> root@127.0.0.1
# 注意此处的<port>是指docker容器22端口映射到本地的端口
# 即在创建docker容器的时候 docker run -it -p <host_port>:22 ......
# 此处的<host_port>就是指上述命令中的<port>

通过上述命令就能连接到docker容器,但是此处需要注意,在连接前docker容器中需要修改一些参数,

vim /etc/ssh/sshd_configPubkeyAuthentication yes # 启用公钥私钥配对认证方式
PermitRootLogin yes # root能使用ssh登录
port=22 # 开启22端口

然后将服务器的~/.ssh/id_rsa.pub中的公钥添加到docker容器的~/.ssh/authorized_keys文件中,实现免密登录。

VS Code配置ssh config文件连接docker容器

此处以macOS为例,先找到家目录下的~/.ssh/config文件

# 配置服务器作为跳板机
Host server  # 自定义即可User <username>HostName <server_ip>Port <port>  # 此处<port>是指服务器的ssh端口(默认是22)IdentityFile ~/ssh/id_rsa  # 如果是私钥连接服务器,则需要本地私钥文件# 利用跳板机连接docker容器
Host server_docker  # 自定义即可User rootHostName 127.0.0.1Port <map_port>  # docker容器22端口映射到server服务器的端口ProxyCommand ssh -W %h:%p server  # 此处的server是跳板机的名字 必须和跳板机的Host后面的名称一致

此时你会在VS Code中remote-ssh插件下看到配置的server以及server_docker,点击你想要连接的docker容器即可。

从上面的操作步骤来看,其实两种ssh连接方法是相同的原理,即先连接服务器然后连接docker容器。现在就能用VS Code愉快地进行docker容器开发啦!!!


http://www.ppmy.cn/news/551447.html

相关文章

Python获取和安装依赖包

一、Python获取环境中所有安装的包&#xff1a; 打开命令提示符&#xff0c;在某条路径下输入&#xff1a; pip freeze > ./requirements.txt 二、Python获取某一项目所有安装的包&#xff1a; 1、首先安装&#xff1a;pipreqs&#xff0c;命令行执行&#xff1a; pip inst…

【 openGauss数据库】--运维指南01

【 openGauss数据库】--运维指南01 &#x1f53b; 一、 openGauss数据库运维指南&#x1f530; 1.1 启停openGauss&#x1f530; 1.2 查看openGauss数据库状态 &#x1f53b; 二、 维护检查项&#x1f530; 2.1 检查实例状态&#x1f530; 2.2 检查锁信息&#x1f530; 2.3 统计…

如何查看keil编译后代码大小,STM32堆栈空间溢出解决办法

1、查看keil编译后代码大小 在Keil中编译工程成功后&#xff0c;在下面的Bulid Ouput窗口中会输出下面这样一段信息&#xff1a;Program Size: Code6320 RO-data4864 RW-data44 ZI-data1636 代表的意思&#xff1a;Code &#xff1a;是程序中代码所占字节大小RO-data &…

LabVIEW编程LabVIEW控制PCIe-6320 采集电压和编码器例程与相关资料

LabVIEW编程LabVIEW控制PCIe-6320 采集电压和编码器例程与相关资料 PCIe-6320提供了模拟输入、数字I/O和四个32位计数器/定时器&#xff0c;用于PWM、编码器、频率、事件计数等。该设备利用高吞吐量PCI Express总线和多核优化的驱动程序和应用软件&#xff0c;提供了高性能功能…

「 LaTex 」写论文,Springer杂志插入ORCID

一、前言&#xff1a; 小白正在投Springer文章&#xff0c;遇“在作者右上角插入ORCID图标”问题&#xff0c;经挣扎后得此经验。成功后如下图&#xff1a; 二、技术实现 1. 插入库&#xff0c;代码如下&#xff1a; \usepackage{tikz,xcolor,hyperref} 2. 插入图标&#xff0…

Oracle错误——ORA-03113:通信通道的文件结尾 解决办法

由来 今天跟往常一样&#xff0c;登陆PL/SQL&#xff0c;确登陆失败&#xff0c;出现一个错误“ORA-01034”和“ORA-27101”如图&#xff1a; 然后就就通过命令提示符去登陆Oracle&#xff0c;去查看怎么回事&#xff0c;然后问题进一步出现&#xff0c;错误“ORA-03113:通信通…

华为usg6320服务器映射,华为防火墙USG6320配置(简单)

网络 拓扑图: system-view 进入系统视图,键入Ctrl+Z退回到用户视图。 配置GigabitEthernet 0/0/1工作在交换模式。 [USG6300]interface GigabitEthernet 0/0/1 [USG6300-GigabitEthernet0/0/1]portswitch [USG6300-GigabitEthernet0/0/1]quit 把GigabitEthernet 0/0/1加入Tru…

RNA 3. SCI 文章中基于TCGA 差异表达基因之 DESeq2

前言 上期我们介绍了基于 limma 来做差异表达基因&#xff0c;那么这期来讲一下 DESeq2&#xff0c;那么这两款软件有什么区别吗&#xff1f;区别主要在于一个是计算芯片探针给出来的结果&#xff0c;而 DESeq2 是基于NGS 测序结果中 Read counts 来计算差异表达&#xff0c;根…