docker inspect 命令使用技巧

 更新时间:2020年01月06日 11:31:21   作者:小布斯  
这篇文章主要介绍了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官方文档

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

相关文章

  • docker中安装elasticsarch 等镜像的过程

    docker中安装elasticsarch 等镜像的过程

    这篇文章主要介绍了docker中安装elasticsarch 等镜像,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-12-12
  • 关于Docker的常用命令及演示demo

    关于Docker的常用命令及演示demo

    这篇文章主要介绍了Docker常用命令以及对应演示demo,文中的代码示例介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • Docker的镜像制作方法详解

    Docker的镜像制作方法详解

    这篇文章主要介绍了Docker的镜像制作方法的相关资料,文章讲解了Docker镜像的基本原理、结构和制作方式,镜像是创建Docker容器的基础,需要的朋友可以参考下
    2024-10-10
  • docker无法搜索和拉取镜像的解决办法

    docker无法搜索和拉取镜像的解决办法

    这篇文章主要给大家介绍了关于docker无法搜索和拉取镜像的解决办法,通过更换可用的镜像加速器地址可以解决这个问题,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2024-12-12
  • docker部署xxl-job-admin出现数据库拒绝问题及解决方法

    docker部署xxl-job-admin出现数据库拒绝问题及解决方法

    这篇文章主要介绍了docker部署xxl-job-admin出现数据库拒绝问题,本文给大家分享正确的解决思路,对docker部署xxl-job-admin相关知识感兴趣的朋友一起看看吧
    2023-02-02
  • 使用docker更改容器内root密码的操作

    使用docker更改容器内root密码的操作

    这篇文章主要介绍了使用docker更改容器内root密码的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Docker NFS volume创建与使用方式

    Docker NFS volume创建与使用方式

    这篇文章主要介绍了Docker NFS volume创建与使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • docker 报错 Exited (1) 4 minutes ago的原因分析

    docker 报错 Exited (1) 4 minutes ago的原因分析

    这篇文章主要介绍了docker 报错 Exited (1) 4 minutes ago的原因分析,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Docker Login 登录凭证安全存储方式

    Docker Login 登录凭证安全存储方式

    本文主要探讨Docker镜像仓库登录凭证的存储问题,Docker利用docker login命令校验用户镜像仓库的登录凭证,正确的用户名密码会以base64编码格式保存在Docker配置文件中,这种方式极易泄露且不安全
    2024-09-09
  • 基于spring-boot和docker-java实现对docker容器的动态管理和监控功能[附完整源码下载]

    基于spring-boot和docker-java实现对docker容器的动态管理和监控功能[附完整源码下载]

    Docker 是一个开源的应用容器引擎,和传统的虚拟机技术相比,Docker 容器性能开销极低,因此也广受开发者喜爱。这篇文章主要介绍了基于spring-boot和docker-java实现对docker容器的动态管理和监控 ,需要的朋友可以参考下
    2019-06-06

最新评论