前一篇介绍了如何拥有一个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
然后输入密码,是不是就登录上了呢?