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

时间:2017-04-07 23:43:38

标签: docker format inspect go-templates

我正在尝试将命令的结果传递给另一个命令的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

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您需要使用"并转义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将是类似的。

相关问题