VScode远程调试docker中的代码

​环境确认准备:
 

确保服务器和本地电脑属于同一网段,可正常建立通信:

ping xxx.xxx.xxx.xxx

显示如下,说明通信正常:

PING 192.168.9.99 (192.168.9.99) 56(84) bytes of data.

64 bytes from 192.168.8.98: icmp_seq=1 ttl=60 time=27.4 ms

64 bytes from 192.168.8.98: icmp_seq=2 ttl=60 time=27.1 ms

64 bytes from 192.168.8.98: icmp_seq=3 ttl=60 time=27.2 ms

一、配置远程服务器的docker容器

1. 启动并运行交互式容器

(1)如果docker版本在19.03或以上,運行

注:创建之前验证端口是否被占用,避免与之前其他端口冲突。

netstat -anp|grep 10013

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="vscode_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

这里需要映射主机端口到容器端口,后续就是通过端口来连通容器的。

-v /home/th/PycharmProjects/qa/:/workspace/qa  路径挂载,冒号前为服务器root权限目录,冒号后为容器内路径
pytorch/pytorch:1.4-cuda10.1-cudnn7-runtime  代表镜像,也可以通过docker images命令查到的IMAGE_ID代替

-p 8089:22 -这里主机端口8089(pycharm映射端口), 容器端口是22

​--shm-size=8G -共享内存设置,提升cpu到gpu数据传输的效率

--gpus all -容器创建所使用的gpu数量;

2.进入交互后修改容器的root密码

passwd

 3.给容器安装openssh-server和openssh-client

apt-get install openssh-server

apt-get install openssh-client

安装ssh服务时如果出现错误,进 行源更新,更新命令如下:

apt-get -y update

4.修改SSH配置文件

vim /etc/ssh/sshd_config

打开sshd_config文件后,在文件最后面添加以下内容

# PermitRootLogin prohibit-password

PermitRootLogin yes

RSAAuthentication yes

PubkeyAuthentication yes

保存后退出。

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的映射端口,外部链接使用.
然后输入前面设置的passwd设置的密码,进入容器代表链接成功。

二、配置vscode并连接docker容器

1. Configuration配置远程连接

打开vscode,安装Remote-SSH,该工具为远程资源管理器。

 VSCode远程连接容器

        在安装Remote-SSH插件后点击左侧栏的SSH连接图标:

                 

 点击新建一个SSH连接:

输入步骤一中设置的远程链接:

ssh root@xxx.xxx.xxx.xx -p 8089

输入密码确认:

正常链接容器后,即可打开代码开始调试(调试相关环境需要自行在容器中配置)

vscode配置容器内的python环境:

vscode最下面点击python配置栏

其它问题

端口未开放导致无法登录

在本机配置:

ssh -L 127.0.0.1:6666:127.0.0.1:6666 -N -f root@***.***.***.***

然后登录测试:

ssh root@127.0.0.1 -p 6666

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: VS Code是一款非常流行的开发工具,它提供了丰富的功能和插件来支持远程调试。在使用VS Code进行远程调试docker的node.js应用程序时,我们需要进行以下几个步骤。 首先,我们需要在docker容器安装VS Code Server。我们可以通过运行以下命令将VS Code Server添加到我们的Dockerfile: ``` RUN apt-get update && \ apt-get install -y curl && \ curl -fsSL https://code-server.dev/install.sh | sh ``` 然后,我们需要设置docker容器的端口映射,将VS Code Server的端口映射到主机的一个端口上。我们可以使用以下命令来运行docker容器: ``` docker run -d -p 8080:8080 -v "$(pwd):/home/coder/project" my-node-app ``` 这个命令将容器的端口8080映射到主机的端口8080上,并将当前目录挂载到容器的`/home/coder/project`目录。 接下来,我们需要在VS Code安装Remote - Containers插件。我们可以在VS Code的插件商店搜索并安装该插件。 安装成功后,我们可以在VS Code的底部状态栏找到一个绿色的“><”图标。点击该图标,然后选择“Remote-Containers: Attach to Running Container”选项。 在弹出的菜单,我们可以选择我们之前运行的docker容器。选择后,VS Code将会连接到docker容器,并在VS Code的界面打开一个新的窗口。 在VS Code,我们可以打开我们的node.js项目,并在需要的位置设置断点。然后,我们可以使用VS Code的调试功能来启动我们的程序,并进行远程调试。我们可以点击VS Code界面左侧的调试图标,然后选择我们的调试配置并点击“启动调试”按钮。 此时,VS Code将会与我们的程序建立远程连接,并在断点处停下。我们可以使用VS Code的调试工具来查看变量的值、单步调试等操作。 通过以上步骤,我们成功地在VS Code实现了远程调试docker的node.js应用程序。使用VS Code的强大调试功能,我们可以更方便地进行代码调试和错误排查。 ### 回答2: 要在VSCode远程调试Docker的Node.js应用程序,需要按照以下步骤进行设置和配置。 首先,确保已经在本地安装了VSCodeDocker。 1. 在本地的VSCode安装"Remote - Containers"插件。这个插件可以让我们连接到Docker容器的开发环境。 2. 在Docker设置你的Node.js应用程序。可以在Dockerfile指定要使用的基础镜像,并将Node.js应用程序复制到容器。 3. 创建一个名为".devcontainer"的目录,并在其创建一个名为"devcontainer.json"的文件。在这个文件,可以指定要使用的Docker镜像和连接到容器时要运行的命令。 4. 在"devcontainer.json"文件,你还需要配置"ports"选项,以便将容器的端口映射到本地。通过指定要映射的本地端口和容器内部的端口号,可以让VSCode在本地打开容器的应用程序。 5. 在VSCode,按下Ctrl + Shift + P,然后选择"Remote-Containers: Open Folder in Container",然后选择项目文件夹。VSCode将会连接到Docker容器。 6. 在VSCode打开你的Node.js应用程序的调试视图。点击左侧的调试按钮,然后点击配置按钮,选择Node.js环境。 7. 在VSCode调试视图,点击启动按钮。VSCode将连接到Docker容器的Node.js应用程序,并开始远程调试。 通过按照上述步骤设置和配置,你就可以在VSCode远程调试Docker的Node.js应用程序了。这样,你就可以在本地编写和调试代码,同时在Docker容器运行和测试应用程序。 ### 回答3: 使用VSCode进行远程调试Docker的Node.js应用可以通过以下几个步骤完成。 首先,确保你的机器上安装了VSCodeDocker,并且Docker已经成功安装并运行。 其次,在VSCode安装Remote Development扩展。这个扩展提供了远程开发的功能,并且可以与Docker集成。 接下来,在你的终端或命令行工具,使用Docker运行你的Node.js应用。使用适当的Docker命令和参数,将你的应用程序容器化,并确保容器对外暴露了Node.js应用程序的调试端口。 然后,打开VSCode并进入扩展的Remotes视图。点击“Attach to Running Container”按钮,并选择你的Node.js应用程序的Docker容器。 接下来,在VSCode调试视图,点击“添加配置”按钮,并选择Node.js环境。在生成的launch.json配置文件,确保指定了正确的远程主机和调试端口。 最后,点击“启动调试”按钮,VSCode将会连接到你的Docker容器,并开始调试你的Node.js应用程序。你可以在VSCode设置断点、查看变量和调试输出,就像在本地开发环境一样。 总结起来,通过这些步骤,你可以很方便地使用VSCodeDocker的Node.js应用进行远程调试,提高开发效率和调试能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值