配置VS Code + Ubuntu服务器 + Docker + Python:远程调试Debug
- 配置VS Code + Ubuntu服务器 + Docker + Python:远程调试Debug
- 0.背景和原理
- 背景:
- 原理:
- 1.Docker容器配置
- 2.VS Code配置
- 安装插件`Remote SSH`和`Python`
- 点击左下角的箭头,在对话框中选择`Open SSH Configuration File,`选择第一个`config`文件进行修改
- 修改文件,添加上容器的SSH设置
- 点击左侧的`Remote Explore`,可以看到已经有了远程服务器123
- 进入`Explore`,选择`Open Folder`,在弹出对话框内找到你的项目路径并选择OK
- 进入VS Code的扩展,可以看到提示:将Python安装到SSH:123
- 使用`Shift + Ctrl + P`,在对话框中找到`Python: Select interpreter`并选择,在展开的选项中找到你需要用的Python路径
- 点击左侧的`Run and Debug`,选择`create a luanch.json`
- 在代码中设置断点,即可开始快乐Debug
配置VS Code + Ubuntu服务器 + Docker + Python:远程调试Debug
0.背景和原理
背景:
有服务器且在服务器中安装了Docker
使用VS Code进行远程Debug
原理:
使用SSH来实现
1.Docker容器配置
以新建tensorflow的Docker容器为例
拉取tensorflow的镜像
使用指令
sudo docker pull tensorflow/tensorflow:latest-gpu
即可拉取tensorflow-gpu的镜像
使用指令
sudo docker image ls
即可查看当前Docker中保存的全部镜像
新建容器
新建容器的指令如下
sudo docker run --gpus all -it --name new-tf2 -p 1234:22 -v /home/yons/new:/home/new -v /media/yons/ubuntu:/home/media tensorflow/tensorflow:latest-gpu /bin/bash
指令中:
-
--gpus all
表示该容器使用服务器的所有gpu,或使用--gpus 'device=0'
来指定某一个GPU -
-it
表示该容器使用终端进行交互式操作 -
--name new-tf2
表示对该容器命名为“new-tf2” -
-
p 1234:22
表示将容器的22端口映射到宿主机的13044端口 -
-v /home/yons/new:/home/new
表示将本地目录“/home/yons/new”映射到容器的“/home/new”中-v /media/yons/ubuntu:/home/media
中/media/yons/ubuntu
是本机中机械硬盘(第二块硬盘)的地址,该指令表示将第二块硬盘的地址映射到/home/media中 -
tensorflow/tensorflow:latest-gpu
表示使用该镜像,/bin/bash
表示使用系统的终端软件
注意!容器的本地地址映射和命名是十分重要的!
新建其他的容器也基本是这个流程,找到正确的pull对应镜像方法最重要,得到镜像之后按照第二步的方法执行即可
建立容器后会直接进入容器,我们在/home目录下就可以看到映射的两个文件夹
进入容器,修改容器的root用户密码
passwd
更新apt,并安装openssh-server
apt-get update
这里的报错是针对nvidia的库,对安装openssh-server没有影响
apt-get install openssh-server
修改ssh的配置文件,使其允许root用户登录
Vi /etc/ssh/sshd_config
若提示没有vi指令,则安装vimapt-get install vim
vim的使用方式建议百度,或者使用nano等都行
将PermitRootLogin项后面的参数修改为yes
启动SSH服务并测试连接
service ssh start
2.VS Code配置
安装插件Remote SSH
和Python
点击左下角的箭头,在对话框中选择Open SSH Configuration File,
选择第一个config
文件进行修改
修改文件,添加上容器的SSH设置
Host 123
HostName 192.168.1.3
Port 1234
User root
Host表示建立的连接的名称,自定义即可
HostName表示服务器的ip
port表示连接的端口,这里填上新建容器时映射的服务器的端口号
User表示登录的用户
点击左侧的Remote Explore
,可以看到已经有了远程服务器123
右键服务器123,任意选择一个即可
Connect to Host in Current Window
表示在当前窗口打开
Connect to Host in New Window
表示在新窗口中打开连接
在弹出窗口中选择Linux
,在下方的TERMINAL中输入yes
,并输入之前设置的root用户的密码
在输入完密码之后,VS Code会在容器中安装一些必要的组件,稍等片刻即可
进入Explore
,选择Open Folder
,在弹出对话框内找到你的项目路径并选择OK
如:/home/admin/project1/
在TERMINAL中会提示再输入一次密码
进入VS Code的扩展,可以看到提示:将Python安装到SSH:123
使用Shift + Ctrl + P
,在对话框中找到Python: Select interpreter
并选择,在展开的选项中找到你需要用的Python路径
点击左侧的Run and Debug
,选择create a luanch.json
在弹出窗口中选择Python File
,就会进入launch.json文件
在代码中设置断点,即可开始快乐Debug