Docker - 基本操作
虛擬化技術 :
- 系統層級虛擬化(Virtual machine ) ,例如 Virtual Box
- 作業系統層級虛擬化(Container),立如 Docker
Docker 是一個 software platform ,可讓我們快速構建、測試和部署應用程式。Docker 將軟體打包到標準化單元中,這些單元包含軟體運行所需的一切,包括 libraries 、 system tools 、code 等等。Docker 的基本哲學 Build and Ship any Application Anywhere 。
使用一個新的 CLI 的起頭,都要先知道如何查看常用的命令。
docker --help
# version 基本上只是用來看自己 Docker 有沒有正確安裝。只要安裝成功便會顯示資訊安裝版本資訊。
docker version
# info 偏向顯示 Docker 內部的訊息,例如有幾個 image、幾個 container、記憶體多少等等。
docker info
Docker Repository 是集中存放 image 的場所。最大的公開倉庫註冊伺服器是 Docker Hub ,透過 push、pull 的方式上傳、存取。Registry 可以是公開或者私有,官方有提供公開 Docker Hub 可用來下載 image。
registry 命令
# search 指令是在 Docker Hub 找中尋找映像檔用的
docker search <軟體名稱>
# pull 指令從 Docker Hub 下載映像檔。
docker pull <image名稱:TAG>
seatch 可加上 -f (–filter) : 例如可加 starts=10
,代表結果只要星星數 10 以上的 images
沒有加任何 Registry 的位址時,就預設從官方的 Docker Hub Registry 下載
若沒有指定 TAG ,會找最新的版本 ( latest )
docker rmi [image名稱]
docker rmi -f $(docker images -aq)
這個指令可刪除本機中存放的映像檔,也可以配合批次指令來一次清乾淨所有的映像檔。
如果有容器還在使用這個映像檔,則無法刪除。加上 -f 參數可強迫刪除。
Image 檔用 docker run
指令執行後,執行實例就稱為 Container,每個 Image 檔可以拿來啟動成數個 Container。
Image命令
# 可列出本機存在的所有image檔
docker images
option:
- -a (–all) : 可把Image的中間層也列出來
- -q (–quiet) : 只顯示Id
- -digest : 可以再多顯示摘要訊息
- -no-trunc : 不截斷訊息,代表顯示完整訊息