docker inspect 命令使用技巧
描述與簡介
docker inspect是docker客戶端的原生命令,用于查看docker對象的底層基礎(chǔ)信息。包括容器的id、創(chuàng)建時間、運行狀態(tài)、啟動參數(shù)、目錄掛載、網(wǎng)路配置等等。另外,該命令也可以用來查看docker鏡像的信息。
官方描述如下:
Return low-level information on Docker objects
語法
語法如下:
docker inspect [OPTIONS] NAME|ID [NAME|ID...]
OPTIONS選項
下表摘自官網(wǎng)
Name, shorthand | Default | Description |
--format , -f | Format the output using the given Go template | |
--size , -s | Display total file sizes if the type is container | |
--type | Return JSON for specified type |
如上表,--type用于指定docker對象類型,如:container, image。在容器與鏡像同名時可以使用,使用頻率較低。比如,當你機器上一個容器名為redis, 一個鏡像為redis:latest,則可以使用下面的命令查看鏡像信息。不使用type參數(shù),則返回容器信息:
# 查看redis:latest鏡像信息 docker inspect --type=image redis # 查看redis容器信息 docker inspect redis
--size用于查看容器的文件大小,加上該參數(shù),輸出的結(jié)果中會包含SizeRootFs和SizeRw(目前我還不是很確定這兩個值的含義,望知情者告知)。
以上兩個參數(shù)都是用得比較少的,--format實用性最大,使用頻率也比較高。從表格描述可知,傳入的參數(shù)值應(yīng)該是go語言的模板。它很強大,可以做很多go函數(shù)的操作,由于我的go語言還沒有入門,所以這里就不說太多耍雜技的了,以免翻車,下面說一下常用的。
實踐
在實踐中,我們往往只需要查看其中部分信息,比如目錄掛載信息、網(wǎng)絡(luò)信息。而直接輸入docker inspect container時,會輸出容器的所有信息,就顯得比較臃腫,我們在命令行中翻頁還不方便。 此時,--format的實用性就體現(xiàn)出來了。實踐中的常用操作如下
查看目錄掛載信息
輸入如下命令, 則會輸出容器的Mounts信息,可以看到容器中各個目錄在宿主機的具體掛載位置。
docker inspect --format="{{json .Mounts}}" container
參數(shù)中的json是go語言的方法名,后面是取Mounts的值做json化處理。去掉json也是可以的。
如果覺得這樣輸入還是不太好看,可以對json再作進一步處理,如使用python的json模塊或者jq美化輸出。命令如下:
#使用python的json模塊美化 docker inspect --format="{{json .Mounts}}" container | python -m json.tool #使用jq美化 docker inspect --format="{{json .Mounts}}" container | jq
查看容器網(wǎng)絡(luò)信息
查看網(wǎng)絡(luò)信息可以使用下面命令:
#查看完整網(wǎng)絡(luò)信息 docker inspect --format="{{json .NetworkSettings}}" container | jq #查看網(wǎng)絡(luò)端口映射 docker inspect --format="{{json .NetworkSettings.Ports}}" container | jq # 查看容器的網(wǎng)絡(luò)ip、網(wǎng)關(guān)等信息 docker inspect --format="{{json .NetworkSettings.Networks}}" container | jq
延伸學習
如果感興趣,還可以充分利用這個--format參數(shù),因為它是go的模板語法,差不多是可以寫go的代碼。例如上述的命令,json就是go的方法名
所以可以結(jié)合其他的go方法(如range,split)來耍雜技,本文就不班門弄斧了。
參考資料
docker官方文檔
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
docker啟動elasticsearch時內(nèi)存不足問題及解決方法
這篇文章主要介紹了docker啟動elasticsearch時內(nèi)存不足問題,本文給大家分享安裝過程及解決方法,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07docker內(nèi)網(wǎng)搭建dns使用域名訪問替代ip:port的操作
這篇文章主要介紹了docker內(nèi)網(wǎng)搭建dns使用域名訪問替代ip:port的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11基于Docker版本squid搭建代理服務(wù)器的過程詳解
這篇文章主要介紹了基于Docker版本squid搭建代理服務(wù)器的配置方法,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下本文給大家介紹的非常詳細2024-03-03docker鏡像倉庫hub.docker.com無法訪問的解決方法
最近許多群友都詢問為什么無法訪問Docker鏡像倉庫,本文就來介紹一下docker鏡像倉庫hub.docker.com無法訪問的解決方法,感興趣的可以了解一下2023-08-08