用Telnet登录Docker容器中的Centos7

用Telnet登录Docker容器中的Centos7

背景介绍

最近想用python3的telnetlib写一个telnet的客户端,但是发现写完之后无法进行完整的测试,又不想安装一个linux的虚拟机,所以docker pull了centos。下面是完整过程

流程图:

Created with Raphaël 2.1.2 本机telnet5000端口 docker-machine处理映射到容器23端口 telnet登录

实现过程

安装Docker

过程省略

Docker中使用CentOS7镜像

下载镜像

~ $ docker pull centos

启动镜像

~ $ docker run -d -p 5000:23 --name centos7 --privileged=true centos /usr/sbin/init

–pri以特权模式启动,可以在容器中启动多个服务。-p参数进行端口映射,使容器23端口映射到本机5000端口。

进入容器bash

~ $ docker exec -ti a36 /bin/bash

3ab为容器id,可以用docker ps -a查看,使用位数只需能唯一表示容器即可。

centos7查看IP地址

安装net-tools,一路yes

[root@a36ac0051a5c sbin]# yum install net-tools
[root@a36ac0051a5c sbin]# ifconfig

安装telnet服务

[root@3ab2f0add0bf /]# yum install telnet-server
[root@3ab2f0add0bf /]# yum install telnet
[root@3ab2f0add0bf /]# yum install xinetd

设置开机自启动

[root@3ab2f0add0bf /]# systemctl enable xinetd.service
[root@3ab2f0add0bf /]# systemctl enable telnet.socket

重启服务

[root@3ab2f0add0bf /]# systemctl start telnet.socket
[root@3ab2f0add0bf /]# systemctl start xinetd

添加一个用户用来以telnet登录,因为Linux拒绝明文密码

[root@3ab2f0add0bf /]# adduser zhaojunyu
[root@3ab2f0add0bf /]# passwd zhaojunyu

本机测试telnet连接

~ $ telnet localhost 5000
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Password:
Last login: Fri Jun 22 11:44:43 on pts/0

[zhaojunyu@3ab2f0add0bf ~]$ su root
Password:

[root@3ab2f0add0bf zhaojunyu]#

效果图

telnet结果

猜你喜欢

转载自blog.csdn.net/weixin_41845533/article/details/80778330