Output History with History Command

Ubuntu: 20.04

Docker: 20.10

在使用網路上的 Docker Image 時,如果需要再客製一些自己的需求,就必須根據 Image 進行一些改良;但並不是所有的 Image 都有提供 Dockerfile 給你參考,當在沒有 Dockerfile 參考的狀況下,很難全盤知道 Image 裡做了什麼事,這樣要再去做客製的調整就會困難許多。

Docker 本身的 history 指令可以顯示 Image 的操作歷程紀錄,剛好可以解決上述的問題。

Basic Usage

histroy 指令使用方法很簡單,直接在後面加入 Image 名稱就行了。

Usage

docker history [OPTIONS] IMAGE

Options

Name Default Description
--format 可以透過 Go Template 的方式調整輸出格式。可參考官方範例
--human , -H true 可以選擇將 size 及 dates 格式調整成可讀模式
--no-trunc 完整指令輸出。如果輸出的指令太長,不會清除後半段指令。
--quiet , -q 只顯示 Image ID

範例

# 以 node:15.2.1 image 為例,將 history command 以 json 格式列出
# 另外再用 jq command 處理一下 json,方便肉眼判讀
docker history --no-trunc --human=false --format='{{ json . }}' node:15.2.1 | jq
Categories: Docker