通过ssh连接到docker容器中

7 篇文章 1 订阅
6 篇文章 0 订阅

博客作为学习笔记记录,若有理解或表述错误,欢迎指出

我们可以通过ssh登录到服务器、虚拟机上完成操作。而容器是运行在服务器上的,我们通过22端口(ssh默认服务端口)登进去的是服务器界面.

一般情况下,要对容器执行一些操作,则为:

ssh root@<host-ip>
docker exec -it <container-id> bash

此时可以在容器内执行一些ssh命令。

那么能不能直接登录到容器内执行命令呢,而不是通过docker exec来执行命令呢?

举个栗子,容器镜像以centos为例,直接ssh到容器内。

1. 起docker容器时,通过暴露容器服务端口,把host上50001(空闲端口)映射到容器内22端口,

docker run -itd -p 50001:22 --name ssh systemd /bin/bash

2. 在容器里安装ssh服务

yum install -y openssh-server openssh-client

2、 配置sshd_config

3、设置密码

#修改root密码
passwd root
#若无passwd命令,安装passwd
yum install -y passwd
passwd root

4、启动ssh服务

5、 远程登录 

ssh root@<host_ip> -p 50001

若通过k8s yaml部署时,其对应yaml为:

apiVersion: v1
kind: Service
metadata:
  name: ssh-my-centos
  labels:
    app: my-centos
spec:
  type: NodePort
  ports:
  - port: 50001
    targetPort: 22
    nodePort: 30002
    protocol: TCP
  selector:
    app: my-centos



 

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值