ssh 直接登录docker容器 (不消通过宿主机进入)

饭宝  金牌会员 | 2024-8-31 11:07:45 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 576|帖子 576|积分 1728

若我们想直接通过ssh链接docker容器,而不是通过宿主机进入。
1.启动docker,进入docker容器:
  1. docker exec -it 42d099e3fdca /bin/bash (42d099e3fdca是CONTAINER ID)
复制代码
2.进入docker后,使用passwd密码来修改密码(如提示没有这个下令行使用yum install passwd安装):
  1. passwd
  2.     xxx密码
  3.     xxx确认密码
复制代码
3.安装Openssh(docker 容器中实行):
  1. yum -y install openssh-server
  2. yum -y install openssh-clients
复制代码
修改SSH设置文件以下选项,去掉#注释,将四个选项启用:
vim /etc/ssh/sshd_config
  1. RSAAuthentication yes #启用 RSA 认证
  2. PubkeyAuthentication yes #启用公钥私钥配对认证方式
  3. AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径(和上面生成的文件同)
  4. PermitRootLogin yes #root能使用ssh登录
复制代码
重启ssh服务,并设置开机启动,可能报错,可背面进入从镜像启动的新容器进行运行:
  1. service sshd restart
  2. chkconfig sshd on
复制代码
4.退出容器并生存更改:
使用exit下令退出当前运行的容器,退出后用于生存的唯一ID,也可不消退出,但不进行操作,直接在另一个终端运行以下commit:
  1. exit
复制代码
如今我们的容器已经被我们改变了,使用 docker commit 下令,将当前的容器天生镜像:
  1. docker commit ffe81683c404  centos6-jdk7:ssh
复制代码
ffe81683c404: 创建镜像的容器的ID,就是上面的容器id,也就是我们刚才进入的容器id
centos6-jdk7:ssh: 目标镜像的堆栈名和 tag 信息,冒号前面部门是天生的镜像的堆栈名字,冒号背面是镜像tag
创建乐成后会返回这个镜像的 ID 信息,检察镜像:
  1. docker images
复制代码
5.启动新的容器并打通22端口:
将新的镜像启动,并将docker服务器的2222端口映射到容器的22端口上,进入容器启用映射端口:
  1. docker run -it -p 2222:22 --net host -v $PWD:/home --name my_container 镜像ID bash
  2. /usr/sbin/sshd -p 2222
复制代码
my_container:创建的新容器名
镜像ID:前文报错的镜像ID
6、然后用ssh 直接登录docker容器(可以xshell):
  1. ssh root@ip -p 2222
  2. #密码为前文设置的密码
复制代码
ip: 为宿主主机的ip,而不是docker容器的ip
端口:就是上面的2222
用户名: root
密码: 就是上面password部门设置的密码
7.关掉该容器:
在宿主机通过 docker stop 容器id 即可关闭
启动容器 docker start 容器id
启动后,就可以用xshell进行毗连。
其它:
1. 进入容器实行/usr/sbin/sshd -p 2222,启动一个端口
2. 容器间可通过该端口ssh登录,ssh ip -p 12345
3. 假如需要免密,docker run容器时,docker -v /root/.ssh 挂载.ssh目次
4. 容器间mpirun实行,mpirun -np .... --hostfile hosts -mca plm_rsh_args "-p 12345" ./exe
参考文章:ssh 直接登录docker容器 (SSH毗连docker容器)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

饭宝

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表