36-Docker-常用命令详解-docker inspect

本文详细介绍了Docker Inspect命令的使用,包括如何获取容器的IP地址、MAC地址、日志路径、镜像名称以及挂载信息。此外,还展示了如何通过--format选项和jq工具来美化和解析输出的JSON数据,以查询网络设置、端口映射等信息。通过Docker Inspect,可以深入理解容器和镜像的内部配置和状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

常用命令详解-docker inspect


前言

  • 本篇来学习docker inspect命令

docker inspect

  • 作用:获取容器/镜像的元数据。

options说明

option说明
-f指定返回值的模板文件
-s如果类型为容器,则显示文件总大小
–type返回指定类型的JSON

使用示例

  • 获取容器ip
# docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 容器id/容器名
# 容器id
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' bbb67a568725
# 容器名
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ubuntu

在这里插入图片描述

  • 获取容器mac地址
# docker inspect --format='{{range .NetworkSettings.Networks}}{{.MacAddress}}{{end}}' 容器id或容器名
# 容器id
docker inspect --format='{{range .NetworkSettings.Networks}}{{.MacAddress}}{{end}}' b45018fdd00f

在这里插入图片描述

  • 获取容器日志路径
# docker inspect --format='{{.LogPath}}' 容器id/容器名
docker inspect --format='{{.LogPath}}' jenkins2

在这里插入图片描述

  • 获取容器镜像名
# docker inspect -f "{{.Config.Image}}" 容器id/容器名
docker inspect -f "{{.Config.Image}}" ubuntu

在这里插入图片描述

  • 获取容器目录挂载信息
docker inspect --format="{{json .Mounts}}" 容器id/容器名

# 容器名
docker inspect --format="{{json .Mounts}}" jenkins2

在这里插入图片描述

  • 美化输出
# 需安装包jq工具,下面是centos安装命令
yum -y install epel-release
yum -y install jq

# 美化输出
docker inspect --format="{{json .Mounts}}" jenkins2 |jq

在这里插入图片描述

  • 查询容器网络信息
# 查看容器所有网络信息
docker inspect --format="{{json .NetworkSettings}}" 容器名 | jq

# 查看容器端口映射
docker inspect --format="{{json .NetworkSettings.Ports}}" 容器名| jq

# 查看容器ip,网关等信息
docker inspect --format="{{json .NetworkSettings.Networks}}" 容器| jq
  • 获取元数据
# docker inspcet 容器名/容器id
docker inspect ubuntu

在这里插入图片描述

### 如何使用 `docker inspect` 查看容器或镜像的详细配置 `docker inspect` 是一个强大的命令,用于返回 Docker 对象(如容器、镜像、网络、卷等)的底层信息。以下是关于如何使用该命令查看容器或镜像的详细配置: #### 命令格式 `docker inspect` 的基本语法如下: ```bash docker inspect [OPTIONS] NAME|ID [NAME|ID...] ``` - `[OPTIONS]`:可选参数,例如 `-f` 用于指定输出格式。 - `NAME|ID`:目标对象的名称或 ID,可以是容器、镜像、网络或卷。 #### 示例:查看容器的详细信息 要查看某个容器的详细配置,可以使用以下命令: ```bash docker inspect 容器名或ID ``` 此命令将返回一个 JSON 格式的详细信息列表,包括容器的 CPU、内存限制、IP 地址、端口映射等[^1]。 #### 示例:查看镜像的详细信息 要查看某个镜像的详细配置,可以使用以下命令: ```bash docker inspect 镜像名或ID ``` 此命令将返回镜像的元数据,包括创建时间、大小、层信息等[^3]。 #### 使用 Go 模板提取特定字段 如果只需要获取某些特定字段的信息,可以使用 `-f` 参数结合 Go 模板语法。例如,提取容器的 IP 地址: ```bash docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 容器名或ID ``` 上述命令通过 Go 模板语法提取了容器在网络中的 IP 地址[^4]。 #### 设置资源限制并验证 在运行容器时,可以通过参数设置资源限制,例如内存和 CPU,并使用 `docker inspect` 验证这些限制是否生效。例如: ```bash docker run -d --name my_container --memory="500m" --cpus="1" nginx docker inspect my_container ``` 通过 `docker inspect`,可以查看容器的实际资源配置,例如内存限制和 CPU 分配[^2]。 #### 注意事项 - `docker inspect` 返回的信息非常详细,通常用于调试或脚本自动化任务。 - 如果需要提取嵌套字段,可能需要熟悉 Go 模板语法。 ```bash # 示例:提取容器的 CPU 配置 docker inspect -f '{{.HostConfig.CpuShares}}' 容器名或ID ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱学习de测试小白

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值