设为首页 收藏本站
查看: 1016|回复: 0

[经验分享] Docker容器安装telnet

[复制链接]

尚未签到

发表于 2019-2-21 06:53:32 | 显示全部楼层 |阅读模式
Docker容器个人理解
  标准的Docker容器一般都是由debain系统做基础镜像构成的,说白了就是当我们使用docker  pull  xxx下拉某个镜像时,默认官网都是由debain系统做基础标准镜像的,不管你是tomcat还是mysql等等。只要是官网标准镜像都是由debain系统做基础镜像构成的,有同学可能会问那centos或者Red Hat就没有吗?问的好,不是没有而是官方会有专门团队来维护标准镜像(debain)至于centos或者Red Hat等等,大部分为个人制作的镜像,不会有专门维护的团队,所以在真实环境建议还是使用官方的标准镜像。
Docker容器安装软件或命令的原因
  镜像生成容器才能为我们提供服务,但是默认的官网镜像所生成的容器是基础镜像,说白了就是里边除了基本系统必要命令和内核命令外,什么都没有,那么问题来了,我们怎么去管理这个容器里的服务呢?怎么去配置这个容器里的配置文件呢?
解决方式有两种:
  1、  通过docker镜像生成容器时将需要的配置文件、数据目录、访问端口等等映射到真机
  2、  给容器里的系统安装一些基础的命令比如vim、ps等;软件telnet远程连接等。
  注:为了使容器变得不越来越臃肿,便于迁移、备份等管理;建议不管使用哪种方式,都将一些重要的数据目录、配置文件目录等等,挂载到宿主机的目录到容器内!
实验环境
  系统版本:centos7x3.10.0-514.el7.x86_64
  Docker版本:Docker version 1.13.1(yum安装)
  Docker镜像:docker.io/mysql:latest
  关闭防火墙并禁止开机自启
systemctl stop firewalld.service
systemctl disable firewalld
  关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
  重启 reboot
Docker容器
1、查看当前镜像列表
  docker  images

2、查看当前所有容器
  docker  ps  -a

3、  通过docker.io/mysql镜像生成容器
  docker  run  -itd  -p  3306:3306  --name wfy_mysql -e MYSQL_ROOT_PASSWORD=123456  mysql  

选项注释:
-itd: 交互运行容器并可以在后台运行容器
-p:端口映射,此处映射主机3306端口到容器mysql的3306端口
--name:给新创建的容器命名,这里最好用项目名加mysql做区别如wfy_mysql
-e:配置信息,此处配置mysql的root用户的登陆密码
mysql:最后一个mysql指的是mysql镜像名字,也可以指定版本标记。
4、查看正在运行的容器
  docker  ps

5、进入容器查看命令
  docker  exec  -it  c8  /bin/bash


注:从以上截图可以看的出来,大部分常用的命令在容器里默认都没有!
Docker容器安装命令或软件telnet
1、查看当前镜像列表
  docker  images

2、查看所有容器
  docker  ps  -a

3、查看正在运行的容器
  docker  ps

4、  停止正在运行的容器
  docker  stop  c8

注:如上截图的目的是为了释放mysql的3306端口,也可以映射别的端口做测试!
5、创建dockerfile文件
  vi  dockerfile
  FROM docker.io/mysql
MAINTAINER wangfeiyu@xingyoucai.com
RUN  mv /etc/apt/sources.list /etc/apt/sources.list.bak && echo "deb http://mirrors.163.com/debian/ jessie main non-free contrib" >/etc/apt/sources.list && echo "deb http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list && echo "deb-src http://mirrors.163.com/debian/ jessie main non-free contrib" >>/etc/apt/sources.list && echo "deb-src http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list
RUN apt-get update
RUN apt-get install vim -y
RUN apt-get install iputils-ping -y
RUN apt-get install net-tools -y
RUN apt-get install telnetd-ssl -y
RUN apt-get install xinetd -y
RUN apt-get install telnetd -y

注:如上截图,我们要想给容器安装软件有两种方式,一种是通过dockerfile文件打包镜像;另一种是直接在容器里安装软件,个人建议使用dockerfile文件来安装,因为这是官网的方式,所以我这里也是使用这种方式安装的!

6、打包生成镜像
  docker  build  .  -t  mysql:v1


注:以上截图为开始和结束的两张截图,中间太长就不截图了!
7、  查看所有镜像
  docker  images

注:从截图中可以看到自己打包的镜像已经生成了。
8、  运行新镜像
  docker  run  -itd  -p  3306:3306  --name  mysql2  -e MYSQL_ROOT_PASSWORD=123456  mysql:v1

注:因为新镜像名字已经在做镜像时就写了mysql:v1所以后边要是启动指定的镜像生成容器,那么在最后写上镜像名即可!例如镜像tomcat-demo的镜像名为tomcat-demo:v1。当然了要是从官网直接下拉的镜像如上图docker.io/tomcat或者docker.io/mysql后边标签写的是latest的不需要写标签也能直接启动。
9、  进入新容器
  docker  exec  -it  49  /bin/bash

10、 验证安装的命令 vim、ping和netstat

注:从以上截图可以看出容器安装命令完成了!

11、验证安装的软件telnet
  1)查看本地IP端口开启
  nmap  192.168.152.169

  2)查看容器真机开放端口(当前机器IP为192.168.152.91)
  nmap  容器真机IP

注:容器真机IP为192.168.152.169
  3)telnet远程连接容器3306端口(当前机器IP为192.168.152.91)
  telnet 192.168.152.169 3306

注:显示乱码表示连接正常,因为telnet只有测试端口是否开启的功能。到这里telnet软件安装就完成了!




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-675008-1-1.html 上篇帖子: 『中级篇』容器编排Docker Swarm介绍(42) 下篇帖子: Docker常用命令总结
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表