VSCode连接远程服务器上docker容器进行代码调试

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   # 802222的映射端口

4、本地VSCode连接服务器上的docker容器进行代码调试

4.1 链接调试前的问题排查

在连接调试前,可以分别在本地使用ssh连接服务器能否成功、在服务器端使用ssh连接容器是否成功
哪一个环节ssh不上,可以用于排除问题

4.2 VSCode链接远程docker容器
VSCode连接远程服务器上docker容器进行代码调试_第1张图片

VSCode连接远程服务器上docker容器进行代码调试_第2张图片
输入指令:

ssh root@192.168.10.198 -p 8022   # 8022端口为容器22端口的映射端口

VSCode连接远程服务器上docker容器进行代码调试_第3张图片
配置docker容器内anaconda的Python编译环境
VSCode连接远程服务器上docker容器进行代码调试_第4张图片

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