vscode远程连接虚拟机,vscode怎么连接虚拟机

首页 > 机动车 > 作者:YD1662023-10-31 05:27:07

前言

为了在远程服务器上开发、调试各种环境的项目;为了规范化,远程端的服务器采用了docker来管理,所以使用VSCode进行远程连接服务器里的项目container来开发。

一、VSCode的安装

这里安装步骤不再赘述。

二、Docker的安装

这里安装步骤不再赘述。

服务器中每个不同的container可以简单地理解为不同的虚拟机,因为是虚拟机所以就代表可以从本地端去利用SSH去连接不同的container,从而来完成远程开发与调试。

三、开始连接

3.1、服务器端准备

1、创建镜像

使用docker images 指令查看已存在的镜像;如果服务器上没有需要的镜像,则使用docker pull 指令拉镜像到服务器上;以python环境为例,输入指令:

docker pull python

2、创建远程连接的容器,输入指令:

docker run -itd --name {your container name} --shm-size="8g" -p 8099:22 --privileged=true {docker image id}

其中{your container name}替换成你要取得container名字;{docker image id}就是docker images 查询得到的image id。

OPTIONS说明:

-d: 后台运行容器,并返回容器ID;

-i: 以交互模式运行容器,通常与 -t 同时使用;

-P: 随机端口映射,容器内部端口随机映射到主机的端口;

-p: 指定端口映射,格式为:主机(宿主)端口:容器端口 ;

-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

--name="nginx-lb": 为容器指定一个名称;

--volume , -v: 绑定一个卷。映射关系:本地路径或服务器物理路径:容器内路径;

--privileged 默认false:true【container内的root拥有真正的root权限】;false【container内的root只是外部的一个普通用户权限】;privileged启动的容器【可以看到很多host上的设备,可以执行mount,可以在docker容器中启动docker容器】

--shm-size:共享内存

3、进入容器进行配置,输入指令:

docker exec -it {your container name} /bin/bash

①、在容器内安装ssh。

apt-get update apt-get install openssh-server

②、设置root密码(这里的密码是container的root密码,可以与服务器的密码不一样)

passwd

③、修改SSH配置文件

vim /etc/ssh/sshd_config

打开sshd_config文件后,在文件中做以下修改

注释掉 PermitRootLogin prohibit-password 这一行 添加这一行 PermitRootLogin yes PasswordAuthentication yes UsePAM no

④、重启SSH服务

service ssh restart

⑤、退出容器,测试链接

ssh -p 8099 root@127.0.0.1

root: 容器内部系统的root帐号,不是服务器的用户帐号

127.0.0.1:服务器本机ip,也可以通过ifconfig查看对应实际ip4地址

-p 8099: 该端口号是链接容器端口22的映射端口,外部链接使用.

然后输入前面设置的passwd设置的密码,进入容器代表链接成功。

至此,服务器端容器的SSH配置已完成。

3.2、本地VSCode准备

①、VSCode扩展

安装如下图所示的remote SSH,该工具为远程资源管理器。

vscode远程连接虚拟机,vscode怎么连接虚拟机(1)

②、配置VSCode

勾选Remote.ssh:show Login Terminal选项【文件 > 首选项 > 设置 > 扩展 > Remote - SSH】

vscode远程连接虚拟机,vscode怎么连接虚拟机(2)

③、VSCode远程连接容器

方法一:SSH TARGETS中新建一个SSH连接

vscode远程连接虚拟机,vscode怎么连接虚拟机(3)

输入远程链接,如下指令

ssh -p 8099 root@{ip}

这里的-p 8099 就是上面创建容器时候的端口号,而{ip}就是服务器的ip地址。

输入密码确认:

vscode远程连接虚拟机,vscode怎么连接虚拟机(4)

方法二:编辑.ssh/config文件

Host myContainer HostName 服务器ip地址 User root Port 8099

打开链接,输入密码后,就可以通过vscode连接到容器内了。

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.