创建centos容器,端口映射要记得加
docker@default:~$ docker run -itd --name test -p 22000:22 centos:7 /bin/bash
f10cbe132ac6b1dd16018b182e3a8ababc184b3a8d67e219f3d0f5fb4600f7f3
查看容器信息:
docker inspect test
当前的ip是172.17.0.2
进入centos
docker exec -it test /bin/bash
重置密码
[root@f10cbe132ac6 /]# passwd
Changing password for user root.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
用172.17.0.2:22连接
或者192.168.99.100:22000连接
发现连接不了
或者
这个因为ssh没有安装,现在我们安装一下。
yum install openssh-server
查看是否安装成功
[root@f10cbe132ac6 /]# rpm -qa | grep openssh
openssh-7.4p1-21.el7.x86_64
openssh-server-7.4p1-21.el7.x86_64
启动ssh
[root@f10cbe132ac6 /]# /usr/sbin/sshd
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Could not load host key: /etc/ssh/ssh_host_ed25519_key
sshd: no hostkeys available -- exiting.
报错了,运行
ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
在运行
/usr/sbin/sshd
用192.168.99.100:22000连接,成功
用172.17.0.2,还是失败
在docker中ping,是可以ping的通的
docker@default:~$ ping 172.17.0.2
PING 172.17.0.2 (172.17.0.2): 56 data bytes
64 bytes from 172.17.0.2: seq=0 ttl=64 time=0.099 ms
64 bytes from 172.17.0.2: seq=1 ttl=64 time=0.138 ms
64 bytes from 172.17.0.2: seq=2 ttl=64 time=0.280 ms
64 bytes from 172.17.0.2: seq=3 ttl=64 time=0.154 ms
在windows中的cmd中ping,是ping不了的,172.17.0.2这个地址,是容器独立创建的ip,所以加个路由
在windows中添加路由
route add -p 172.17.0.0/24 mask 255.255.0.0 192.168.99.100
用172.17.0.2连接,输入密码,成功
重启
docker@default:~$ docker restart test
test
两个都不能连接了
由于是容器化运行,SSH服务不会自动启动,需要设置自动启动,所以在.bashrc后面加入/usr/sbin/sshd
vi ~/.bashrc
重启容器,重新连接,成功
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。