1.安裝:
wget?http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm
rpm?-ivh?epel-release-6-8.noarch.rpm?
yum?install?docker-io?-y2.獲取鏡像?pull
docker?pull?ubuntu
docker?pull?ubuntu:14.043.運行這個鏡像,在其中運行bash應用
docker?run?-t?-i??ubuntu??/bin/bash
[root@gaogd?docker]#?docker?run?-t?-i??ubuntu??/bin/bash
root@d9b713deb3c4:/#4.查看鏡像信息
docker?p_w_picpaths5.給進行打標記
docker?tag??ubuntu??ubuntu:test?????#進行名稱
docker?tag?6e7f313d5e21?test01??????#6e7f313d5e21?這個是鏡像id
docker?tag?6e7f313d5e21?test01:0026.查看鏡像的詳細信息
docker?inspect?6e7f313d5e217.搜尋鏡像
docker?search?term??#?term?是?要搜尋的鏡像名稱,如下面查找mysql的鏡像
docker?search?mysql
--automated=false?僅顯示自動創建的鏡像
--no-trunc=false???輸出信息不截斷顯示
--s,--starts=0?指定僅顯示評論為指定星級以上的鏡像8.刪除鏡像
使用鏡像的標簽刪除鏡像
docker?rmi?tag????#如果鏡像還在運行,無法進行刪除。如果要強制刪除則用?-f,但不建議強制刪除
#如果這個tag是鏡像的唯一一個tag,如果用rmi刪除,就會把整個鏡像都刪除,如果還有其他的tag在用這個鏡像
那么就僅僅刪除這個tag而已使用鏡像id進行刪除
docker?rmi?6e7f313d5e21??#如果鏡像還在運行,無法進行刪除。如果要強制刪除則用?-f,但不建議強制刪除9.導入本地模塊
cat?ubuntu.tar.gz?|docker?import?-?ubuntu?10.存出鏡像
docker?save?-o??ubuntu.tar.gz???ubuntu11.存入鏡像
docker?load?ubuntu?--input??ubuntu.tar.gz?
docker?load?ubuntu?<?ubuntu.tar.gz?容器
1.創建容器
docker?create?-it?ubuntu:latest
docker?ps?-a使用docker?create?命令新建的容器處于停止的狀態,可以使用docker?start?命令來啟動它。docker?start?ubuntu:latest[root@gaogd?docker]#?docker?create?-it?ubuntu:latest
bdb579831beddffdc4269212e90e08676c5a3dbf5b7ef817a284e932f1b9f0f6
[root@gaogd?docker]#?docker?ps?-a
CONTAINER?ID????????IMAGE???????????????COMMAND????????????????CREATED?????????????STATUS??????????????????????PORTS???????????????NAMES
bdb579831bed????????ubuntu:latest???????"/bin/bash"????????????13?seconds?ago??2.新建并啟動容器啟動容器有兩種方式,一種是基于鏡像新建一個容器并啟動,另外一個是將在終止狀態
的容器重新啟動,所需要的命令主義為docker?run?,等價于先執行docker?create?命令,再執行
docker?start命令下面命令是輸出一個"hellow?world!!"?之后容器自動終止
[root@gaogd?docker]#?docker?run?ubuntu?/bin/echo?"hello?world"
hello?world
[root@gaogd?docker]#下面命令則啟動一個bash終端,允許用戶進行交互
docker?run?-t?-i?ubuntu?/bin/bash
[root@gaogd?docker]#?docker?run?-t?-i??ubuntu?/bin/bash
root@b02e8434f6c5:/#?
root@b02e8434f6c5:/#?exit
exit
[root@gaogd?docker]#?其中。-t?是讓docker分配一個偽終端并綁定到容器的標準輸入上,
-i?則是讓容器的標準輸入保持打開當使用exit退出容器之后,容器也會被自動釋放3.守護狀態運行?-d?
docker?run?-d?ubuntu?/bin/sh?-c?"while?true?;do?echo?hello?world;sleep?1;done"4.終止容器?docker?stop?id?
docker?stop?fd3e0dc9b66f5.進入容器
當使用-d參數時,容器啟動后會進入后臺,用戶無法看到容器中的信息,某些時候如果需要進入容器操作,
有多種方法,包括使用?docker?attach?命令,docker?exec?命令,以及nsenter6.attach命令
docker?attach?[root@gaogd?~]#?docker?run?-idt?ubuntu
262453cf366aeecccf8b2742c7ba772d03ef312da0db0e6f8e4ac4e06db11703
[root@gaogd?~]#?
[root@gaogd?~]#?
[root@gaogd?~]#?docker?ps?
CONTAINER?ID????????IMAGE???????????????COMMAND?????????????CREATED?????????????STATUS??????????????PORTS???????????????NAMES
262453cf366a????????ubuntu??????????????"/bin/bash"?????????14?seconds?ago??????Up?13?seconds???????????????????????????tender_hypatia??????
[root@gaogd?~]#?docker?attach?tender_hypatia
root@262453cf366a:/#?
root@262453cf366a:/#?ifconf
bash:?ifconf:?command?not?found
root@262453cf366a:/#?ls
但是還用attach命令有時候并不方便,當多個窗口同時attach到一個容器的時候,所有窗口都會同步顯示,當某個窗口因命令阻塞
阻塞時,其他窗口也無法執行操作了[root@gaogd?~]#?docker?exec?-ti?ac4d58a2e3ed?/bin/bash
root@ac4d58a2e3ed:/#?7.刪除容器
docker?rm?命令刪除處于終止狀態的容器
-f?強行終止并刪除一個運行中的容器
-l?刪除容器的連接,并保留容器
-v?刪除容器掛裝的數據卷8.導出容器
導出容器是指導出一個已經創建的容器到一個文件,不管此時這個容器是否處于運行狀態
可以使用docker?export?命令,該命令格式為docker?export?container
如:
docker?export?ac4d58a2e3ed?>test_for.tar?[root@gaogd?~]#?docker?ps
CONTAINER?ID????????IMAGE???????????????COMMAND?????????????CREATED?????????????STATUS??????????????PORTS???????????????NAMES
ac4d58a2e3ed????????ubuntu??????????????"/bin/bash"?????????10?minutes?ago??????Up?10?minutes???????????????????????????nostalgic_bohr??????
[root@gaogd?~]#?
[root@gaogd?~]#?docker?export?ac4d58a2e3ed?>test.ac4d58a2e3ed.ubuntu.v1.tar
[root@gaogd?~]#?ll?test.ac4d58a2e3ed.ubuntu.v1.tar?
-rw-r--r--?1?root?root?116375552?Nov?30?16:30?test.ac4d58a2e3ed.ubuntu.v1.tar
[root@gaogd?~]#?9。導入容器
docker?import?命令導入,成為鏡像
cat?test_for.tar?|docker?import?-?test/ubuntu:v1.2[root@gaogd?~]#?cat?test.ac4d58a2e3ed.ubuntu.v1.tar?|docker?import?-?test/ubuntu:v1.2
c4603c9c2d6be029e2c523767f9619112a4a5a895a254eb1824021622284b93b
[root@gaogd?~]#?
[root@gaogd?~]#?docker?p_w_picpaths
REPOSITORY??????????TAG?????????????????IMAGE?ID????????????CREATED?????????????VIRTUAL?SIZE
test/ubuntu?????????v1.2????????????????c4603c9c2d6b????????13?seconds?ago??????110.7?MB
test01/001??????????latest??????????????6e7f313d5e21????????2?hours?ago?????????187.9?MB使用docker?load命令來導入一個鏡像文件。實際上,既可以使用docker?load命令來導入鏡像存儲文件到本地
鏡像庫,又可以使用docker?import?命令來導入一個容器快照到本地鏡像庫,這兩者的區別在于容器快照文件
將丟失所以的歷史記錄和元數據信息(既僅保留容器導入時可以的快照狀態),而鏡像存儲文件將保存完整的記錄,
所以體積也要大。此外,從容器快照文件導入時,可以重新指定標簽等元數據信息