这篇文章主要介绍“docker inspect命令使用技巧实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“docker inspect命令使用技巧实例分析”文章能帮助大家解决问题。
描述与简介
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
关于“docker inspect命令使用技巧实例分析”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。