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

VScode远程调试docker中的代码_第1张图片

 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 [email protected] -p 8089

root: 容器内部系统的root帐号,不是服务器的用户帐号

127.0.0.1:服务器本机ip,也可以通过ifconfig查看对应实际ip4地址

-p 8089: 该端口号是链接容器端口22的映射端口,外部链接使用.
然后输入前面设置的passwd设置的密码,进入容器代表链接成功。

二、配置vscode并连接docker容器

1. Configuration配置远程连接

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

VScode远程调试docker中的代码_第2张图片

 VSCode远程连接容器

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

                 

 点击新建一个SSH连接:

VScode远程调试docker中的代码_第3张图片

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

ssh [email protected] -p 8089

输入密码确认:

VScode远程调试docker中的代码_第4张图片

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

vscode配置容器内的python环境:

vscode最下面点击python配置栏

其它问题

端口未开放导致无法登录

在本机配置:

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

然后登录测试:

ssh [email protected] -p 6666

你可能感兴趣的:(docker,vscode,容器)