VSCode连接远程服务器上docker容器进行代码调试
- 1、本教程默认已经在本地安装完毕VSCode,并且安装ssh
- 2、本教程默认已经在服务器端安装完毕docker与nvidia-docker、ssh服务并自动启动、且容器内安装anaconda
- 3、服务器端创建docker容器,并增加端口映射(-p 8022:22),设置ssh
- 4、本地VSCode连接服务器上的docker容器进行代码调试
1、本教程默认已经在本地安装完毕VSCode,并且安装ssh
2、本教程默认已经在服务器端安装完毕docker与nvidia-docker、ssh服务并自动启动、且容器内安装anaconda
3、服务器端创建docker容器,并增加端口映射(-p 8022:22),设置ssh
docker run -it -d --gpus all -p 8022:22 -p 8081:8080 --name googosoft_ocr -v /home/googosoft/docker_file:/home/googosoft/docker_file 3941d3b032a8 /bin/bash
3.1 进入到容器内:
docker exec -it 60cdacf5dd55 /bin/bash
3.2 设置远程登录的密码
为root添加密码:
passwd
3.4 在容器内安装ssh
更新apt,可以先设置一下国内的镜像源:
apt update
apt upgrade
安装openssh-server:
apt install openssh-server
启动ssh:
service ssh start
查看ssh状态:
service ssh status
重启ssh:
service ssh restart
3.4 修改ssh修改配置文件:
vim /etc/ssh/sshd_config
内容如下:
vim /etc/ssh/sshd_config
注释掉 PermitRootLogin prohibit-password 这一行
添加这一行 PermitRootLogin yes
添加这一行 UsePAM no
然后重启ssh即可。
注意:在容器内必须保证ssh已经开启(可以设置自启动),我刚开始就是因为这个问题一直连接不上
3.5 在服务器端测试容器可否ssh连接成功
ssh root@127.0.0.1 -p 8022 # 8022是22的映射端口
4、本地VSCode连接服务器上的docker容器进行代码调试
4.1 链接调试前的问题排查
在连接调试前,可以分别在本地使用ssh连接服务器能否成功、在服务器端使用ssh连接容器是否成功
哪一个环节ssh不上,可以用于排除问题
4.2 VSCode链接远程docker容器
输入指令:
ssh root@192.168.10.198 -p 8022 # 8022端口为容器22端口的映射端口
配置docker容器内anaconda的Python编译环境