我想使用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
有可能吗?
答案 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 }}'