vs code 远程ssh连接docker

1, docker 配置ssh服务

  1. 安装ssh
apt-get update
apt-get install openssh-server
  1. 开启ssh服务
    进入目录查看是否有sshd文件,如果没有,则使用如下命令创建
 mkdir -p /var/run/sshd

启动ssh服务

/usr/sbin/sshd -D &

安装netstat

 apt-get install net-tools

查看sshd是否监听22端口

netstat -apn | grep ssh

如下图表示成功。
在这里插入图片描述
修改ssh配置文件允许登录

vim /etc/ssh/sshd_config
#PermitRootLogin prohibit-password # 默认打开 禁止root用户使用密码登陆,需要将其注释
PubkeyAuthentication yes #启用公钥私钥配对认证方式
PermitRootLogin yes #允许root用户使用ssh登录

修改完sshd-config之后重启sshd服务
找到ssh的pid

 ps -aux | grep ssh

杀掉该pid

kill -9 <pid>

重启ssh

 /usr/sbin/sshd -D &

设置密码

passwd

进行宿主机ssh到docker测试

ssh root@0.0.0.0 -p <port-id>

其他机器远程登录可参考如下命令

sudo docker run -itd -e NVIDIA_VISIBLE_DEVICES=0 --gpus "device=0"  --shm-size 32G --ulimit memlock=-1 --ulimit stack=67108864 -p <port-id>:22 -v /:/work <docker-name>:<tag> /bin/bash

3, 设置docker开机自动开启ssh服务

创建自动开机脚本

touch /root/start_ssh.sh

赋予权限

chmod +x /root/start_ssh.sh

添加内容

vim /root/start_ssh.sh
#!/bin/bash

LOGTIME=$(date "+%Y-%m-%d %H:%M:%S")
echo "[$LOGTIME] startup run..." >>/root/start_ssh.log
service ssh start >>/root/start_ssh.log

将自动开启ssh脚本服务添加到.bashrc中

vim ~/.bashrc
# auto start ssh
if [ -f /root/start_ssh.sh ]; then
      . /root/start_ssh.sh
fi

宿主机保存容器

sudo docker commit <xxxxxxxx> <docker-name>:<tag>

参考
1, 参考1
2, 参考2

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值