?相信各位兄dei有这样的困扰,项目中需要用到判断容器是否存在的逻辑、需要判断容器是否已正常运行、获取容器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用户
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]
脚本中直接使用;代码中使用命令执行获取、判断结果即可。