1. 程式人生 > >docker命令小結

docker命令小結

1. docker search 映象名稱
2. docker pull <倉庫名>:<標籤>   拉取映象

    docker pull [選項] [Docker Registry 地址[:埠號]/]倉庫名[:標籤]
    docker映象倉庫地址:地址的格式一般是 <域名/IP>[:埠號] 。預設地址是 DockerHub。
    倉庫名:倉庫名是兩段式名稱,即<使用者名稱>/<軟體名>。對於 Docker Hub,如果不給出使用者名稱,則預設為 library ,也就是官方映象
     example: docker pull ubuntun:16.04

docker映象是由多層儲存所構成,下載也是一層層的去下載,並非單一檔案。下載過程中給出每一層的ID的前12位,並且下載結束後,給出該映象完整的sha256的摘要,以確保下載一致性。

3. 以映象為基礎啟動執行一個容器
   docker run -it --rm ubuntu:16.04 bash

  -i 互動式操作  
  -t 偽終端
   --rm 容器退出後隨之將其刪除


4. docker image

   docker image ls 列出映象  列表中只會顯示頂層映象
   docker image ls -a       顯示包括中間層映象在內的所有映象的話,需要加 -a 引數

5. 映象體積
通過觀察映象的size我們可以發現,映象表示所佔用的空間和docker hub上看到的映象的大小不一致。這是因為docker hub顯示的大小是壓縮後的體積大小。映象的下載和上傳過程中是保持壓縮狀態的。因此docker hub顯示的大小是壓縮後的體積大小。而docker image看到的是下載到本地後展開後的大小,是展開後各層所佔用的空間的總和。檢視空間的時候更關心的是本地磁碟空間佔用的大小。

另外一個需要注意的問題是, docker image ls 列表中的映象體積總和並非是所有映象實際硬
盤消耗。由於 Docker 映象是多層儲存結構,並且可以繼承、複用,因此不同映象可能會因為
使用相同的基礎映象,從而擁有共同的層。由於 Docker 使用 Union FS,相同的層只需要保
存一份即可,因此實際映象硬碟佔用空間很可能要比這個列表映象大小的總和要小的多。

可以通過以下命令來便捷的檢視映象、容器、資料卷所佔用的空間:
docker system df


一般來說,虛懸映象已經失去了存在的價值,是可以隨意刪除的,可以用下面的命令刪除:
docker image prune


6. docker image rm  [選項] <映象1> [<映象2> ...]  刪除本地映象


如果我們需要刪除所有倉庫名為 redis 的映象,可以使用下面的命令
docker image rm $(docker image ls -q redis)

7. docker images 列出機器上的映象