vscode远程访问内网服务器中docker容器小白教程

前言:

我的本意是想用vscode调试学术版gpt的翻译功能,给它加一个自适应的系统提示词。

然而为了这个调试,我付出了太多,怎么这么多弯路要走~

首先,Windows直接用docker+wsl2调试实在是太痛苦,之前wsl2已经崩溃两次,所以我不得不把程序放在Ubuntu的台式机上。

然而我自己日常的办公电脑还是windows,Windows和我的台式机的网络并不在一个局域网内。

vscode无法直接远程链接。

好消息是,我之前看师弟用autossh配置过ssh的端口转发,但是我当时没看清具体的操作。

我只记得,需要一个hk的云服务器做中转,好消息是我刚买了一个阿里云的hk云服务器,现在只需要配置了。

配置网络这种东西,对我这种非计算机科班的人来说,是一个非常难受的事情,硕博这么多年的锻炼,我勉强能记住一些操作,但实际配置,还是有太多的坑了。

对于这种只知道“粗略的需求+少数关键词”的配置任务,有什么快速的学习方案?

我的初步思路:

1. 按照最简需求谷歌搜索:vscode远程访问内网设备docker

找到一个比较类似的帖子:bicbrv:vscode远程访问内网设备docker

很不幸,这个帖子只能给我提供一个初步的思路,具体的步骤很不详细,也没法告诉我三个主机上各自该怎么配置

2. 然后添加关键词去gpt4中询问:

用autossh如何vscode远程访问内网设备docker,标出内网机器和外网服务器的配置细节步骤。

很好,gpt4会给出一些步骤:

但实际上,这些步骤很多都不对!


3. 修改提示词,步骤具体化:

用autossh如何vscode远程访问内网设备docker,标出 外网服务器的配置细节步骤。

这下好了,给的步骤要靠谱很多,除开打开端口2000和2001之外,还有:

123步都是对的。4不用考虑

4. 细化到内网配置,拿到这个内网穿透隧道的步骤:

安装好autossh和openssh-server;
终端输入:autossh -M 2001 -CNR 2000:localhost:22  root@ 123.123.123.123

这里M后面端口监控端口,如果断了会重连。2000是你对外访问的端口,22是内网服务器ssh的默认端口,后面是公网服务器用户名和IP地址。

公网和内网服务器配置好了,可以去Windows笔记本做一个测试:看看ssh -p 2000 user@123.123.123.123 能不能连上。

连上之后vscode打开docker容器的步骤,可以直接看下面的图,一张图可以完整的解释配置过程:
 

这张图应该是比较清晰的描述配置的全过程了

虽然我画的是13个步骤,但实际上有很多子步骤都是嵌入在句子中了。

这样的配置过程我画了一个多小时的试错,还是在gpt4的帮助下,不知道后面什么时候能够把这样繁琐且没意义的过程自动化实现。

如果觉得这个教程对你有帮助,欢迎点个赞!


也欢迎大家关注我:

知乎:强化学徒,主要分享强化/LLM/agent/robot/aigc相关资讯和干货。

小红书:和AI一起进化 • 小红书 / RED,主要分享一些ai最新图文资讯和暴论。

公众号:kaixindelele,主要分享一些长图文干货。

B站:和AI一起进化,分享一些ai教程视频。

  • 20
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 要在 VS Code 进行远程连接到 Docker 容器,您可以使用 Remote Development 扩展程序来实现。以下是简要的步骤: 1. 安装 Remote Development 扩展程序:在 VS Code 搜索 Remote Development 扩展程序,并安装。 2. 启动 Docker 容器:使用 Docker 命令启动您要连接的容器。 3. 打开远程窗口:在 VS Code ,按下 F1 键,然后搜索 Remote-Containers: Attach to Running Container,并选择该选项。 4. 选择容器:在弹出的菜单,选择要连接的容器。 5. 连接到容器:VS Code 将连接到您的容器,并在一个新的窗口打开一个远程窗口。 现在,您可以像在本地机器上一样在 VS Code 编写代码并运行它们,它们将在 Docker 容器运行。 ### 回答2: 随着云计算技术的发展,Docker已经成为了一个非常流行的容器化技术,它能够帮助我们在不同的应用之间隔离开来,保证程序的安全性和可移植性。而vscode是一款非常流行的代码编辑器,它拥有丰富的扩展能力,可以帮助我们更加高效地编写代码,进行调试和代码管理,广泛应用于各种类型的编程领域。那么,如何在vscode进行远程连接Docker容器呢? 首先,我们需要在本地安装Docker,如果你还没有安装,可以去官网下载并安装:https://www.docker.com/get-started。接下来,我们需要在Docker创建一个新的容器,这个容器可以用来运行我们的代码,在创建容器时,我们需要将容器端口映射到主机端口。这可以通过在命令行使用docker run命令实现。例如: ``` docker run -it --rm -v "$(pwd)":/workspace -p 8080:80 --name myapp nginx ``` 这个命令可以创建一个名为myapp的容器,将本地8080端口映射到容器的80端口。我们将会在这个容器运行一个Nginx服务器。 接下来,我们需要使用vscode的Remote Development扩展来远程连接到我们的容器。这可以通过在vscode使用Ctrl+Shift+P来调出命令面板,然后选择Remote-Containers:Attach to Running Container选项。在弹出的命令面板,我们需要输入我们创建的容器的名称,然后按下回车键即可。接下来,vscode会在Docker镜像创建一个新的容器,并在其运行vscode。 对于Java开发者而言,vscode也提供了非常好的支持。Java开发者可以使用vscode的Java扩展来开发Java应用程序。在远程连接到Docker容器后,我们只需要在vscode安装Java扩展,并配置好Java运行环境就可以开始在容器开发Java应用程序了。 在vscode进行远程连接Docker容器,可以帮助我们在本地进行开发,极大地提高了我们的开发效率,同时也能够保证程序的运行安全性。而随着云计算技术的不断发展,Docker容器化技术的应用也将越来越广泛。因此,掌握在vscode进行远程连接Docker容器的技能,将会是未来云计算领域的必备技能之一。 ### 回答3: VS Code 远程连接 Docker 容器可让用户在容器内部开发和调试,而无需离开本地计算机。本文将介绍如何安装必备的软件和扩展,以及设置 Docker 和 VS Code。 步骤一:安装软件 安装 DockerDocker Compose。如果您已经在计算机上安装了这些软件,可以跳过此步骤。 步骤二:配置 Docker 首先,需要为 Docker 创建一个新的网络。在终端运行以下命令: ``` docker network create <network-name> ``` 例如: ``` docker network create my-net ``` 然后,需要启动一个 Docker 容器。对于此示例,我们将使用 Node.js 映像。运行以下命令来启动容器: ``` docker run -itd --name <container-name> --network <network-name> <image> ``` 例如: ``` docker run -itd --name my-node --network my-net node ``` 此命令将创建并启动一个名为 my-node 的容器,并将其添加到名为 my-net 的网络。 步骤三:安装 VS Code 扩展 在 VS Code 安装 Remote Development 扩展,该扩展允许用户远程连接到容器。 步骤四:连接到容器 打开 VS Code 并单击左下角的“远程 Window”按钮。选择“连接到主机...”然后选择“SSH target”。通过“+ Add new SSH Target”按钮创建 SSH 目标。 在“主机”输入框输入 Docker 容器的 IP 地址。在“端口”输入框输入 SSH 基础映像的端口(默认为 22)。在“用户名”输入框输入 SSH 用户名(默认为 root)。 在“密码”输入框输入 Docker 容器的密码(如果已经设置了密码)。单击“连接”。 步骤五:开始开发 VS Code 现在将建立与远程 Docker 容器的连接。完成后,用户可以通过 VS Code 完成端到端开发。 结论: 通过 VS Code 远程连接 Docker 容器使得开发和调试变得更加便利。遵循上述步骤,用户可以在 Docker 容器内部进行开发和测试,而无需离开本地计算机。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hehedadaq

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值