如何将命令的结果传递给 docker 检查格式(Golang 模板)?

How to pass the result of a command to docker inspect format (Golang template)?

我正在尝试将一个命令的结果传递给另一个命令的 golang 模板:

container_id=$(docker ps -aqf "name=container_name")

docker network inspect --format='{{range $i,$container:= .Containers}} {{if eq $container.Name (print 'gateway_' $container_id)}} {{$container.IPv4Address}} {{end}} {{end}}' network

目的是在特定的网络接口中获取容器IP地址,这是简单的

无法获得的

docker inspect container_id

感谢您的帮助。

您需要使用 " 并转义 golang 模板使用的所有其他 $。以下命令将在接口 bridge:

上按容器名称打印 IPv4 地址
$> export CONTAINER_NAME=backstabbing_feynman
$> docker network inspect --format="{{range $id, $container := .Containers}} {{if eq $container.Name \"$CONTAINER_NAME\"}} {{$id}} -> {{$container.IPv4Address}} {{end}}{{end}}"  bridge
3a77b8fe2d14fb527a8c634fdaa46121672daf827c7fad0aabad1de37877e03e -> 192.168.0.4/20

container_id就差不多了