Docker检查格式检索端口映射

时间:2015-06-04 14:13:28

标签: docker

我想使用docker inspect检索映射到容器的端口,我发现了类似的东西:

docker inspect --format=" {{ .NetworkSettings.Ports }} " containerid

输出:

map[1234/tcp:[map[HostIp:0.0.0.0 HostPort:49159]] 3306/tcp:<nil> 4444/tcp:<nil> 4567/tcp:<nil> 4568/tcp:<nil>]

但是我希望得到这样的输出:

1234/tcp:49159

有可能吗?

3 个答案:

答案 0 :(得分:13)

docker port命令可能更有用;它产生这样的输出:

$ docker port 0a7b4df54966
443/tcp -> 0.0.0.0:4430
80/tcp -> 0.0.0.0:8888

答案 1 :(得分:5)

另见我的回答How to get ENV variable when doing Docker Inspect我想你可以适应并直接得到你想要的答案

答案 2 :(得分:5)

您可以在模板中使用索引:

--format '1234/tcp:{{ (index (index .NetworkSettings.Ports "1234/tcp") 0).HostPort }}'