前一篇介绍了如何拥有一个Docker的Centos环境,也许你会问:

“我能用putty类似的工具登录Docker的Centos容器?”

当然可以,这里就介绍下通过ssh方式登陆Docker容器。

(其实并不推荐用ssh去连接容器,虽然可以,但有弊端),请参考: https://www.oschina.net/translate/why-you-dont-need-to-run-sshd-in-docker

创建一个Centos容器

这里简单说一下,详细内容不在赘述,请上一篇文章:http://www.tech1024.cn/original/2981.html

拉取、创建、进入容器:

docker pull centos:7

docker run --name=c7 --privileged -itd centos:7 /usr/sbin/init

docker exec -it c7 bash

安装openssh服务

yum -y install openssh-server

依次执行:

ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ""

ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ""

ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N ""

设置密码:

passwd

输入两遍密码即可!

启动ssh服务:

/usr/sbin/sshd -D

也可通过systemctl重启:

systemctl restart sshd

然后,使用exit 退出容器。

保存并提及容器更改

docker commit lanmp local/c7-sshd

这里提交到了新的镜像(local/c7-sshd)里了

可以通过docker image ls 查看是否多了一个镜像

创建新的容器

使用刚刚提交的镜像创建新的容器:

docker run --name=c7-sshd --privileged -itd  -p 1022:22 local/c7-sshd /usr/sbin/init

-p,映射本机的1022端口到容器的22端口

使用ssh或者putty连接登录

连接地址为本机的ip地址,端口为1022,用户名root,密码就是刚刚设置的密码啦。

如果使用ssh命令连接:

ssh root@127.0.0.1 -p 1022

然后输入密码,是不是就登录上了呢?