Docker启动一个Centos镜像,在docker中安装ifconfig和ssh

时间:2022-01-21 23:34:39

执行docker search centos 现在最流行的Linux嘛。查了下,排名第一的(STARS最多1882)官方版,就是你了

果断拿下, docker pull centos,看网速了静等拿下

其实我在一开始的Docker Quicky Start里面也pull过,但是不知道为什么失败了,换了SecureCRT顺利获取,不知道为什么。反正只是需要一个环境而已

好啦,看看成果,这下有镜像了,输入docker images

接下来启动一个呗, docker run -d c8a /bin/echo 'Hello World'

成功打出了一串乱码,想要看的话必须用docker logs来看,看我少打了参数docker很贴心提醒我了

但是logs要一个Container ID,那是个啥?打入docker ps查看一下

一片空白,这是怎么回事呢。。明明已经有了images了,run之后不是应该生成Container的嘛。

重新输入一段抄来的循环执行的命令之后再看

有了,写了一个后台一直会运行的命令,现在再来看看log

看到一堆hello world,好吧,这样我们就算大体成功了。

但是,我原本要一堆Container来部署集群,不能每个都运行一个二逼命令吧。

仔细查看了一下命令列表,爷爷的,原来docker ps 只是显示当前运行的Container。让我们来运行一下docker ps -a

看,以前的都在,我们就能在指定的Container上进行操作了哈哈哈。。

#运行命令

  1. #切换到docker内部
  2. docker-machine ssh default
  3. sudo -i
  4. #启动容器
  5. docker run -d -i -t <imageID> /bin/bash

这样就能启动一个一直停留在后台运行的Centos了。如果少了/bin/bash的话,Docker会生成一个Container但是马上就停止了,不会一致运行即使有了-d参数。

然后我们可以进入我们这个Centos

  1. docker attach <ContainerID>

进入Centos后,发现竟然没有ifconfig和ssh,网上例子很多参照着来

  1. ifconfig的安装,执行命令
    1. yum search ifconfig
 
Docker启动一个Centos镜像,在docker中安装ifconfig和ssh
 
2. 安装ifconfig
  1. yum install -y net-tools.x86_64
Docker启动一个Centos镜像,在docker中安装ifconfig和ssh
 
 
好了,有了它终于可以知道自己的IP了和网络。现在还需要一个ssh让我们能方便的访问Centos
Docker启动一个Centos镜像,在docker中安装ifconfig和ssh

接下来只要启动就可以了

  1. yum install -y openssh-server
  2. #使用ssh-keygen命令来手动生成
  3. ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''
    ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
    ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key  -N ''
    sed -i "s/#UsePrivilegeSeparation.*/UsePrivilegeSeparation no/g" /etc/ssh/sshd_config
    sed -i "s/UsePAM.*/UsePAM no/g" /etc/ssh/sshd_config
  4. /usr/sbin/sshd -D

接下来就是常用的命令了,将端口映射到宿主机,我这里就是VM分配的linux系统。
#退出,但不停止容器
Ctrl+P+Q
#回到Docker下面,停止容器
docker stop <容器ID>
#提交当前容器到镜像
docker commit <容器ID> <NAME/VERSION>
#启动新容器,并且进行端口映射
docker run -itd -p 50001:22 <刚才提交的镜像ID>  /bin/bash

好了,这样我们在windows下利用ssh工具访问宿主机的IP端口就可以访问到容器了
我这里就是192.168.99.100:50001
Docker启动一个Centos镜像,在docker中安装ifconfig和ssh

Docker启动一个Centos镜像,在docker中安装ifconfig和ssh的更多相关文章

  1. Docker启动一个Centos镜像

    docker镜像的获取与使用 docker中使用centos7镜像 接着上文,我们下载完成一个Centos镜像之后,开始启动 #运行命令 docker run -d -i -t <imageID ...

  2. 在win10 docker启动的centos容器中安装nginx

    我是在win10机器上搭建了一个docker,在docker启动了centos容器,在centos中安装nginx. 安装配置docker 直接在官网下载docker for windows:http ...

  3. CentOS 6&period;x 系统中安装原生 Hadoop 2

    2020年整理博客发现原文地址已经失效,推荐学习地址厦门大学数据库实验室 本教程适合于在 CentOS 6.x 系统中安装原生 Hadoop 2,适用于Hadoop 2.7.1, Hadoop 2.6 ...

  4. Docker构建一个node镜像

    0. 设置国内docker镜像源 进入Settings->Daemon->Advanced,添加如下配置. { "registry-mirrors": [ " ...

  5. Docker&colon; docker 启动一个Nginx容器

    本文演示从官方镜像仓库拉取一个nginx镜像并启动docker run -d –p 8800:80 nginx (同一个镜像,可以启动N个容器, 比如说,一个nginx服务,可以在这个docker主机 ...

  6. Eucalyptus-利用镜像启动一个Centos实例

    1.前言 使用kvm制作Eucalyptus镜像(Centos6.5为例)——http://www.cnblogs.com/gis-luq/p/3990795.html 上一篇我们讲述了如何利用kvm ...

  7. docker构建一个简易镜像

    一 下载centos镜像 docker pull centos 二 启动镜像 [root@Centos-node3 ~]# docker run -it --name my_ng centos bas ...

  8. Docker 第一个HelloWorld镜像

    Docker 创建第一个HelloWorld镜像: 创建Dockerfile FROM alpine CMD "echo" "Hello World!" 通过D ...

  9. 如何启动一个已经创建的docker 容器,并进入SHELL 对其操作

    腾讯云使用自己的docker镜像安装后无法启动,下边这个亲测是可用的 sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 36A ...

随机推荐

  1. jsp页面价格

    <div class='flo_left'> <h2 class='red'>订货价¥${productEntity.agentsPrice}</h2> <h ...

  2. iOS应用间的跳转和传值

    在第一个应用程序中info.plist设置 URL Identifier: 该字符串是你自定义的 URL scheme 的名字 注意: URL Schemes 是一个数组,允许应用定义多个 URL s ...

  3. jQuery-瀑布流-浮动布局(一

    jQuery-瀑布流-浮动布局(一)(延迟AJAX加载图片)   瀑布流:这种布局适合于小数据块,每个数据块内容相近且没有侧重.通常,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部 ...

  4. RedHat7上安装PHP

    编译安装PHP 下载PHP# wget http://cn2.php.net/distributions/php-7.0.0.tar.gz 解压缩PHP# tar -zxvf php-7.0.0.ta ...

  5. JQuery 图片延迟加载并等比缩放插件

    原文地址:http://www.shangxueba.com/jingyan/1909987.html DEMO地址:http://demo.jb51.net/html/jquery_img/jque ...

  6. MYSQL中limit的使用

    limit是mysql的语法select * from table limit m,n其中m是指记录开始的索引,从0开始,表示第一条记录n是指从第m+1条开始,取n条.select * from ta ...

  7. CSS自学笔记(7)&colon;CSS定位

    很多时候,我们需要对一些元素进行自定义排序.布局等,这是就需要用到CSS的定位属性了,用这些属性对一些元素进行自定义排序.布局等操作,可以改变浏览器默认的死板的排序. CSS定位的功能很容易理解,它允 ...

  8. java迭代器浅析

    简介 迭代器是遍历容器的一种常用方法,它屏蔽了容器的实现细节,无需暴露数据结构内部,就可以对容器进行遍历,迭代器本身也是一种设计模式,迭代是一种特殊的遍历方式 Iterator 在java中,迭代器接 ...

  9. Android:认识R类、findViewById方法查找组件、&commat;string查找字符、&commat;color查找颜色、&commat;drawable查找图片、&commat;dimen某个组件尺寸定义、项目引入资源国际化

    导入 之前都是断断续续的看了一些于如何使用android开发的文章.资料等,到目前位置很多基础的东西都不清楚,于是去学习了别人的课程,才了认识了R类.findViewById方法查找组件.项目引入资源 ...

  10. EasyUI整合篇

    easy ui combobox getValue 获取不到值问题 必须设置属性showblank: true,否则只能从onSelect事件中获取 $("#ddlType").c ...