帝王谷资源网 Design By www.wdxyy.com

描述与简介

docker inspect是docker客户端的原生命令,用于查看docker对象的底层基础信息。包括容器的id、创建时间、运行状态、启动参数、目录挂载、网路配置等等。另外,该命令也可以用来查看docker镜像的信息。

官方描述如下:

Return low-level information on Docker objects

语法

语法如下:

docker inspect [OPTIONS] NAME|ID [NAME|ID...]

OPTIONS选项

下表摘自官网

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参数,则返回容器信息:

# 查看redis:latest镜像信息
docker inspect --type=image redis

# 查看redis容器信息
docker inspect redis

--size用于查看容器的文件大小,加上该参数,输出的结果中会包含SizeRootFs和SizeRw(目前我还不是很确定这两个值的含义,望知情者告知)。

以上两个参数都是用得比较少的,--format实用性最大,使用频率也比较高。从表格描述可知,传入的参数值应该是go语言的模板。它很强大,可以做很多go函数的操作,由于我的go语言还没有入门,所以这里就不说太多耍杂技的了,以免翻车,下面说一下常用的。

实践

在实践中,我们往往只需要查看其中部分信息,比如目录挂载信息、网络信息。而直接输入docker inspect container时,会输出容器的所有信息,就显得比较臃肿,我们在命令行中翻页还不方便。 此时,--format的实用性就体现出来了。实践中的常用操作如下

查看目录挂载信息

输入如下命令, 则会输出容器的Mounts信息,可以看到容器中各个目录在宿主机的具体挂载位置。

docker inspect --format="{{json .Mounts}}" container

参数中的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

查看容器网络信息

查看网络信息可以使用下面命令:

#查看完整网络信息

docker inspect --format="{{json .NetworkSettings}}" container | jq

#查看网络端口映射

docker inspect --format="{{json .NetworkSettings.Ports}}" container | jq

# 查看容器的网络ip、网关等信息

docker inspect --format="{{json .NetworkSettings.Networks}}" container | jq

延伸学习

如果感兴趣,还可以充分利用这个--format参数,因为它是go的模板语法,差不多是可以写go的代码。例如上述的命令,json就是go的方法名

所以可以结合其他的go方法(如range,split)来耍杂技,本文就不班门弄斧了。

参考资料
docker官方文档

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

标签:
docker,inspect命令,docker,inspect

帝王谷资源网 Design By www.wdxyy.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
帝王谷资源网 Design By www.wdxyy.com

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。