导读 前面文中已经介绍了docker的安装和容器的创建等,但是创建出来的容器只能通过宿主机进行登录,有时候还是希望直接通过SSH 登录到docker容器中进行一些修改,其实非常简单,只需要将容器中ssh端口映射到宿主机,然后在容器中安装openssh 服务即可。
创建容器时指定映射的端口
docker run --name test -dit -p 8022:22  2c886f766286 /bin/bash

另外在宿主机上也是可以看到对应的端口是否被docker容器监听了

netstat -tunlp
tcp6       0      0 :::8022                 :::*                    LISTEN      24209/docker-proxy
登录容器中,修改root密码,安装openssh服务
docker exec -ti test /bin/bash
[root@84641e8d0f74 /]#passwd    #修改容器中centos系统ROOT账户的密码
[root@84641e8d0f74 /]#yum -y install openssh*    #安装openssh服务
[root@84641e8d0f74 /]#service sshd start
宿主机添加端口放行
iptables -A INPUT -p tcp --dport 8022 -j ACCEPT
service iptables save

远程登录测试一下,登录成功!

为了方便以后使用,可以将这个开启了ssh登录的容器保存为镜像
docker commit  84641e8d0f74  centos_6.6_ssh    #容器ID  创建的镜像名
docker images   可以看到该镜像已经创建成功,下次需要新建容器时可直接使用该镜像

原文来自:https://www.cnops.xyz/archives/456

本文地址:https://www.linuxprobe.com/docker-ssh.html编辑:吴向平,审核员:逄增宝

Linux命令大全:https://www.linuxcool.com/