Docker run流程及鏡像的基本命令詳解

1、run 的工作流程

當我們在安裝完Docker引擎的時候,都會通過運行hello-world 鏡像驗證 Docker Engine 是否已正確安裝:

下面我們來分析 run 命令的執行流程:run的執行流程圖如下

當我們嘗試運行一個在本機和DockerHub都找不到的鏡像時:

首先啟動Docker 引擎:

systemctl start docker

然後進行測試:

docker run wanliguyicheng123456789

Docker返回錯誤,找不到該鏡像。

2、鏡像的基本命令

列出鏡像列表

我們可以使用 docker images 來列出本地主機上的鏡像。

各個選項說明:

  • REPOSITORY:表示鏡像的倉庫源
  • TAG:鏡像的標簽
  • IMAGE ID:鏡像的ID,所有鏡像都是通過一個 64 位十六進制字符串 (內部是一個 256 bit 的值)來標識的。 為簡化使用,前 12 個字符可以組成一個短ID,可以在命令行中使用。短ID還是有一定的 碰撞機率,所以服務器總是返回長ID。
  • CREATED:鏡像的創建時間
  • SIZE:鏡像的大小

註:同一倉庫源可以有多個 TAG,代表這個倉庫源的不同個版本。

可選參數:

名稱,簡寫 描述
–all,-a 列出所有鏡像(默認隱藏中間鏡像)
–quiet,-q 隻顯示鏡像的 id
docker images -q
feb5d9fea6a5   

搜索鏡像

我們可以從 Docker Hub 網站來搜索鏡像,Docker Hub 網址為: https://hub.docker.com,比如我們要搜索mysql的鏡像:

也可以使用 docker search 命令來搜索mysql鏡像。

docker search mysql

各個選項說明:

  • NAME:鏡像倉庫源的名稱
  • DESCRIPTION:鏡像的描述
  • OFFICIAL:是否 docker 官方發佈
  • STARS:類似 Github 裡面的 star,表示點贊、喜歡的意思。
  • AUTOMATED:自動構建。

可選參數:

名稱,簡寫 描述
–filter,-f 根據提供的條件過濾輸出

搜索 STARS 超過3000的mysql鏡像:

docker search mysql -f=stars=3000

下載鏡像

語法:

docker pull [OPTIONS] NAME[:TAG|@DIGEST]

OPTIONS說明:

  • -a :拉取所有 tagged 鏡像
  • --disable-content-trust:忽略鏡像的校驗,默認開啟

測試:使用命令 docker pull 來下載 mysql 鏡像

docker pull mysql

下載指定版本的mysql鏡像:首先該版本要在Docker Hub中支持

docker pull mysql:5.7

再次用 docker images 命令查看下載的鏡像:

刪除鏡像

通過鏡像名刪除:

docker rmi -f mysql

參數說明:-f :強制刪除

通過鏡像 ID 刪除:

docker rmi -f 8b43c6af2ad0

刪除多個鏡像:多個鏡像id間用空格隔開

docker rmi -f 鏡像id 鏡像id 鏡像id 鏡像id

刪除所有鏡像:先查出所有鏡像id,然後通過鏡像id逐個刪除鏡像

docker rmi -f $(docker images -aq)

鏡像已全部刪除!

Docker命令大全

以上就是Docker run流程及鏡像的基本命令詳解的詳細內容,更多關於Docker 的資料請關註WalkonNet其它相關文章!

推薦閱讀: