利用VScode连接远程服务器的docker容器,实现linux里的文件内容与VScode相通。步骤如下:
1.在linux下操作,通过一个端口进入容器:
以镜像testimages_20210910版本1.1为例,对外暴露端口10086,映射文件:deskstop/user
命令:docker run -it --name test_2021 -v deskstop/user/:/opt -p 10086:22 --cpus=5 -m 8g testimages_20210910:1.1 bash
2.进入容器后,下载安装openssh,两种方法:
方法1.命令:apt update && apt install -y --no-install-recommends openssh-server
方法2.命令:
apt-get update
apt-get install openssh-server
安装过程中不报错,没有Error,或者在/etc/ssh目录下有sshd_config配置文件就说明安装成功了,最好检查一下配置文件有没有存在。
3.修改配置文件
命令:
vim /etc/ssh/sshd_config
保证 PermitRootLogin prohibit-password 这一行被注释,并添加一行 PermitRootLogin yes
4.设置root密码,这个密码用于VScode登录使用
命令:passwd
按照提示输入两次即可
5.重启ssh服务
service ssh restart(可用命令 service ssh status 查看状态)
以上操作均在Linux终端下操作,且到第5步后,Linux终端操作全部完成,以下是在VScode中操作。
6.安装扩展程序
7.连接docker,与docker容器实现互通
8.连接成功后,在config会出现连接信息,如:
如果想要删除连接,也可以在这里,将连接信息删除,然后保存config文件即可。
注:1.连接VScode时,linux中的openssh服务不能关,保证是在running状态。
2.可能会出现第一次成功连接后,隔几天或者下一次连接就连接不上,重复让你retry。
解决办法:在/home/username/.ssh删除最近一条登录记录,两个known_hosts一个中有VScode的登录记录,一个有linux下的登录记录。