Docker啟動一個Centos鏡像,在docker中安裝ifconfig和ssh


執行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  
 
 
2. 安裝ifconfig
  1. yum install -y net-tools.x86_64  
 
 
好了,有了它終於可以知道自己的IP了和網絡。現在還需要一個ssh讓我們能方便的訪問Centos




接下來只要啟動就可以了
  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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM