docker容器常用参数值获取(程序/脚本中常用)

发布时间:2023年12月26日

?相信各位兄dei有这样的困扰,项目中需要用到判断容器是否存在的逻辑、需要判断容器是否已正常运行获取容器ID、随时获取容器的状态具体值?等等。

脚本或代码中经常用到,只为拿到精确值。
下文所述可一次解决这些问题,同时也方便代码中直接使用详细阐述了结果;

忘了就来这里看,还不收藏等啥呢?

目录

获取容器ID

获取容器创建时间

获取容器启动时间

容器是否存在

容器是否正常运行

容器是否正在重启

获取容器当前具体状态

获取容器的所有挂载映射

获取容器的退出(触发)信号量

获取容器的启动策略

获取容器是以哪个用户启动的

获取容器的启动参数KV列表


获取容器ID

docker inspect --format '{{.Id}}' ?容器名

获取容器创建时间

docker inspect --format '{{.Created}}' ?容器名/id

获取容器启动时间

docker inspect --format '{{.State.StartedAt}}' 容器名/id

容器是否存在

docker inspect ?-f '{{.Name}}' > /dev/null ?容器名/id

输入一个不存在的容器,报错Error: No such object: xxx,若容器存在则无输出;

容器是否正常运行

docker inspect --format '{{.State.Running}}' 容器名/id

如果为running则结果为true,否则为false

容器是否正在重启

docker inspect --format '{{.State.Restarting}}' 容器名/id

如果为正在重启则结果为true,否则为false


获取容器当前具体状态

docker inspect --format '{{.State.Status}}' 容器名/id

结果为running、exited等这些具体状态值;


获取容器的所有挂载映射

docker inspect --format '{{.Mounts}}' ?容器名/id


获取容器的退出(触发)信号量

docker inspect --format '{{.Config.StopSignal}}' ? 容器名/id

得到的结果是SIGQUIT等信号量。


获取容器的启动策略

docker inspect --format '{{.HostConfig.RestartPolicy.Name}}' ?容器名/id

得到的结果是always、no等策略名称。


获取容器是以哪个用户启动的

docker inspect --format '{{.Config.User}}' ?容器名/id

得到的结果是0、1001、1002等用户id。 ?0就是root用户


获取容器的启动参数KV列表

docker inspect --format '{{.Args}}' ?容器名/id

所得值如:

[--config.file=/etc/prometheus/prometheus.yml --storage.tsdb.retention.time=100d --storage.tsdb.path=/etc/prometheus/data --web.enable-lifecycle --web.enable-admin-api --query.max-concurrency=50]

脚本中直接使用;代码中使用命令执行获取、判断结果即可。

文章来源:https://blog.csdn.net/HYZX_9987/article/details/135151651
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。