3-3.2 檢視映象資訊
阿新 • • 發佈:2018-10-31
使用 docker images 命令列出本地主機已有的映象。比如:
[[email protected] ~] docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/busybox latest 22c2dd5ee85d 7 weeks ago 1.16 MB
列表包含了倉庫名(REPOSITORY)、標籤(TAG)、映象 ID(IMAGE ID)、建立時間(CREATED)以及所佔用的空間(SIZE)。其中映象ID是進行的唯一標識。
一個倉庫有多個tag,可以使用 docker tag 為本地映象新增新標籤。例如為 docker.io/busybox:latest 新增新標籤:
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
docker tag docker.io/busybox:latest test/busybox:latest
在使用 docker images
[[email protected] ~]docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/busybox latest 22c2dd5ee85d 7 weeks ago 1.16 MB test/busybox latest 22c2dd5ee85d 7 weeks ago 1.16 MB
以上不同標籤的映象ID是完全一致的,說明是指向了同一個映象檔案,只是別名不同,標籤起到引用或快捷鍵的作用。
使用 docker inspect 檢視映象的詳細資訊。
inspect 命令用於以JSON格式顯示容器與映象的詳細資訊
docker inspect <選項><容器或映象名稱,id>
若是想檢視某一項內容,可以使用 -f 引數指定,如獲取映象的ContainerConfig資訊:
docker inspect -f "{{.ContainerConfig.Hostname}}" docker.io/busybox
另:如果從容器資訊中獲取特定部分,並按照所希望的格式顯示:
$ docker run -it -d --name hello -p 8000:80 -p 8080:8080 docker.io/centos /bin/bash
$ docker inspect -f '{{range $p, $conf := .NetworkSettings.Ports}} {{$p}} -> {{(index $conf 0).HostPort}} {{end}}' hello
80/tcp -> 8000 8080/tcp -> 8080
此處使用 {{range $p, $conf := .NetworkSettings.Ports}} 迴圈訪問 .NetworkSettings.Ports 的值,並代入 $p $conf。然後輸出$p,並將$conf陣列的第一項 (index $conf 0) 的 .HostPort 輸出。
另:.NetworkSettings.Ports 是一個map型別資料結構:
map[80/tcp:[{0.0.0.0 8000}] 8080/tcp:[{0.0.0.0 8080}]]