• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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
    
    

    延伸学习

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

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

    参考资料
    docker官方文档

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

    上一篇:VMware与Centos系统安装之重置root密码的方法
    下一篇:VMWare15 安装 Mac OS系统(图文教程)
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    docker inspect 命令使用技巧 docker,inspect,命令,使用技巧,