1. 程式人生 > >DOCKER-1-2-映象管理

DOCKER-1-2-映象管理

1.進入到redis容器進行終端互動操作,檢視根目錄,發現是有一個完整的檔案系統的。檢視nginx容器也是類似的情況。這裡說下從外部獲取映象的各種標識。比如從quay.io上pull獲取flannel映象。registry是quay.io,埠沒有指明,預設是443(通過https訪問埠),namespace是coreos,name是flannel,tags沒有指明,預設是latest。

2.嘗試建立映象,這裡使用docker commit的方法。通過-p引數是容器在建立映象的過程中處於中止狀態,否則容器中一直變動生成的映象就不是我們所希望生成的映象。這裡可以定義repository和tag。如果不進行標註,則預設在本地生成沒有名稱的映象。通過tag為映象打標籤。對於初始沒有repository的映象,使用image id進行識別。可以通過rm刪除映象,但當有多個標籤的時候,只會untag其中一個標籤,而不會刪除映象,因為一個映象允許有多個標籤。

3.通過inspect檢視映象的內部資訊,其中cmd引數會顯示映象預設的初始程式。注意:這裡daemon off表示必須執行在前臺,唯一的初始程式如果不執行在前臺,則容器預設關閉。我們自己建立的example/busybox與busybox的初始程式是一樣的。

4.使用之前建立的映象example/busybox:v0.1-1來執行容器busybox-test,然後通過互動介面進入,可以看到和之前映象的資訊完全一致。

5.通過commit的-a引數指明作者資訊,通過-c引數指明指令,注意這裡CMD要大寫,-p引數指明建立時中止容器執行。使用剛才建立的映象來執行容器busybox-test2。檢視容器的IP地址。訪問IP地址發現httpd已經執行。

6.通過save將映象檔案打包,-o指定輸出。這裡將node1上的打包檔案,yum源配置檔案,加速json檔案,scp到node2(中間同步node2同步安裝docker的時候網路出了點問題,重配了下網路DHCP,IP最後一位由132變成了138)。通過load將壓縮包中的映象提取出來。通過ls檢視映象檔案列表資訊。