1. Docker SSH配置
1.1 拉取镜像后,执行:
sudo docker run --runtime=nvidia -it -p 8023:22 --ipc=host --name="torch" -v /home/**:/home/** torch1.5 /bin/bash
其中,
-p 8023:22:设置端口映射,将tcp22端口转发到8023(后续将通过8023端口对容器进行访问),与已占用端口不冲突的情况下可以自由设置;
--ipc=host:用于设置主机与容器共享内存;
-v /home/**:/home/**:将服务器目录与容器目录进行共享,为方便记忆,通常将两个目录名设置为一样;
torch1.5:拉取的镜像名称。
1.2 启动并进入容器:
sudo docker start torch
sudo docker attach torch
1.3 设置 root 账户密码:
passwd root
*密码*
*再次输入密码*
1.4 安装openssh:
apt update
apt install -y openssh-server
1.5 ssh配置:
vim /etc/ssh/sshd_config
修改SSH配置文件,去掉以下选项的#注释(如找不到对应项,可直接复制到文件中):
Port 22 #开启22端口
PermitRootLogin yes #允许root用户使用ssh登录
RSAAuthentication yes #启用 RSA 认证
PubkeyAuthentication yes #启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2 #公钥文件路径
1.6 修改完成后,重新启动ssh服务:
service ssh restart
1.7 验证端口映射是否正确:
sudo docker port [ID] 22
输出如下,表示配置成功
**@master:~$ sudo docker port torch 22
0.0.0.0:8023
2. VS-Code配置
2.1 安装Remote Development
打开VS code,打开扩展(ctr+shift+X)查找并安装Remote Development
2.2 打开查找栏(ctr+shift+p),输入remote-ssh,选择open Configuration file
2.3 进行基础配置:
2.4 打开远程资源管理器,选择刚才配置好的host进行SSH连接
2.5 输入root账户密码:
连接成功:
3. 配置vscode debugger
3.1
打开扩展(Ctrl + Shift + X),在商店中搜索“Python”,选择“Python extension for Visual Studio Code”并安装在目标容器中,然后重启VSCode。
3.2
按Ctrl + Shift + P,输入“python: select interpreter”,点击所需要的python解析器。
3.3
打开容器目录,即可进行代码的调试
参考资料:
Python基础——VScode + docker进行代码调试