執行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上進行操作了哈哈哈。。
#運行命令
- #切換到docker內部
- docker-machine ssh default
- sudo -i
- #啟動容器
- docker run -d -i -t <imageID> /bin/bash
這樣就能啟動一個一直停留在后台運行的Centos了。如果少了/bin/bash的話,Docker會生成一個Container但是馬上就停止了,不會一致運行即使有了-d參數。
然后我們可以進入我們這個Centos
- docker attach <ContainerID>
進入Centos后,發現竟然沒有ifconfig和ssh,網上例子很多參照着來
- ifconfig的安裝,執行命令
- yum search ifconfig

2. 安裝ifconfig
- yum install -y net-tools.x86_64
![]()

接下來只要啟動就可以了
- yum install -y openssh-server
- #使用ssh-keygen命令來手動生成
- 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 - /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
