Docker inspect format retrieve port mapping

2019-03-25 05:45发布

I'd like to retrieve the port mapped to a container using docker inspect, I found something like that:

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

Output:

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

But I'd like to have an output like this:

1234/tcp:49159

Is it possible ?

标签: docker
3条回答
等我变得足够好
2楼-- · 2019-03-25 06:13

You can use index in your template:

--format '1234/tcp:{{ (index (index .NetworkSettings.Ports "1234/tcp") 0).HostPort }}'
查看更多
该账号已被封号
3楼-- · 2019-03-25 06:24

See also my answer How to get ENV variable when doing Docker Inspect I guess you can adapt and get directly what you want

查看更多
小情绪 Triste *
4楼-- · 2019-03-25 06:31

The docker port command may be more useful; it produces output like this:

$ docker port 0a7b4df54966
443/tcp -> 0.0.0.0:4430
80/tcp -> 0.0.0.0:8888
查看更多
登录 后发表回答