通過執行一個tomcat容器來記錄下初學docker常用的幾個命令---映象篇

我是冰霜發表於2018-03-11

1.啟動docker服務

[root@localhost ~]# service docker start
可以看到截圖中啟動命令重定向到了systemctl start docker.service,所以直接使用systemctl start docker.service也可以啟動服務
  

2.檢視當前宿主機的映象列表(有哪些映象可用)

[root@localhost ~]# docker images
    
REPOSITORY:表示該映象來自哪個倉庫。映象儲存在倉庫,而倉庫存在於Registry中,官方的Registry即Docker Hub;每個映象倉庫可以存放多個映象,如ubuntu倉庫包含了ubuntu14.04,13.04。
Docker Hub中有2種型別的倉庫,使用者倉庫和頂層倉庫,使用者倉庫的映象都是由docker使用者建立的,而頂層倉庫則有官方管理。
使用者倉庫由使用者名稱+倉庫名組成,如jamtur01/tomcat;
頂層倉庫只包含倉庫名。
TAG:映象的標籤資訊,為了區分同一個倉庫中的不同映象
IMAGE ID:映象ID,唯一標識映象
CREATED:建立時間,即映象的最後更新時間
SIZE:映象大小

3.搜尋映象(預設在官方倉庫中搜尋) 

[root@localhost ~]# docker search hello-world

 4.拉取映象

[root@localhost ~]# docker pull hello-world
如果沒有指定映象的標籤資訊,則會預設下載latest標籤

 5.刪除映象

通過映象ID刪除
[root@localhost ~]#docker rmi ccc7a11d65b1 映象ID
通過映象標籤
[root@localhost ~]#docker rmi helloworld:12 (如果不加標籤,則預設刪除標籤為latest的映象,如果沒有該標籤的映象,就會報錯)
  
注意:當有該映象建立的容器存在時(只要存在容器,不管是否在執行),映象檔案預設是無法被刪除的

 6.使用tag命令新增標籤

[root@localhost ~]# docker tag docker.io/hello-world helloworld:1.1.0
  新增的標籤實際起到了類似連結的作用,可以看到2個映象的映象ID是相同的,,實際指向同一個映象檔案,只是別名不同。
  當同一個映象擁有多個標籤時,docker rmi命令只是刪除該映象多個標籤中指定的標籤,不會影響映象檔案,如果只剩1個映象標籤了,就會徹底刪除該映象。
  強行刪除,可使用-f引數(不推薦)  docker rmi -f ccc7a11d65b1

 7. inspect命令檢視映象詳細資訊

[root@localhost ~]# docker inspect docker.io/ubuntu   
{
"Id": "sha256:ccc7a11d65b1b5874b65adb4b2387034582d08d65ac1817ebc5fb9be1baa5f88", 。。。。。。
}

使用-f 引數獲取其中一項資訊
[root@localhost ~]# docker inspect -f {{".Os"}} docker.io/ubuntu
linux
[root@localhost ~]#

 8.使用docker build命令建立映象

如果當前目錄時Dockerfile所在目錄
[root@localhost helloword]# docker build -t jamtur01/tomcat .
-t 表示為新映象設定倉庫和名稱,本例中,倉庫名為jamtur01,映象名tomcat
. 表示使用當前目錄中的Dockfile檔案

如果當前目錄不是Dockerfile檔案所在目錄,則需要指定Dockerfile檔案所在目錄,例如Dockerfile在/HMK/helloword/
[root@localhost HMK]# docker build -t hmk/tomcat:v1.0 /HMK/helloword/

也可以為映象設定一個標籤,如上面的 “hmk/tomcat:v1.0如果沒有設定任何標籤,docker將會自動為映象設定一個latest標籤

 

 

相關文章