vscode ssh远程连接到docker容器

docker容器配置vscode ssh远程连接

概要

本文针对docker在拉取到本地ubuntu20.04镜像的情况下,通过 SSH 远程连接到本地 Docker 启动的镜像。

启动包含SSH服务的Docker镜像

  1. 拉取Ubuntu镜像

镜像可以到官方Docker-hub上进行搜索,找到你想要的镜像,也可通过dockerfile文件进行自定义创建,这里不多赘述dockerfile文件编写。

docker pull <镜像名>
  1. 创建并启动一个容器来运行镜像,同时进行端口映射

这里2222对于的是本机端,记得使用空闲端口。建议使用8088或者8080

docker run -itd -p 2222:22 --name <自命名容器名称> <镜像名称>
  1. 进入容器
docker exec -it <自命名容器名称> /bin/bash
  1. 安装SSH服务,并配置SSH服务信息

这里对于update较慢的可以参考我之前的文章配置好国内镜像->Docker容器环境配置

apt-get update
apt-get install -y openssh-server

一般情况下Docker容器没有root密码,可以无需密码直接登陆,但是存在安全隐患,你可以通过终端输入passward root设置好。

mkdir /var/run/sshd
echo 'root:<这里填写你远程连接时root用户密码>' | chpasswd
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd
echo "export VISIBLE=now" >> /etc/profile
  1. 启动SSH服务
/usr/sbin/sshd -D &

如果你想每次启动容器就自动启动ssh文件不用手动启动可以在使用

vim ~/.bashrc

(这里vim是Linux终端文件编写器)在该文件最下方输入

service sshd restart

然后保存即可。

vscode通过SSH远程连接到容器

这里默认vscode已经安装好了插件Remote-SSH
在本地C:\user\user_name.ssh\config文件中输入

Host docker_remote_name <这个远程名称随意>
	HostName localhost
	User root
	Port 8080 <前面配置的本地端口号>

然后在vscode中直接连接你配置的远程名称。
你也可以通过在本地终端或vscode新建远程输入一下命令行,均可进行连接
在这里插入图片描述

ssh root@localhost -p 8080
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值