在Docker中保存dynamic端口

有没有办法保存和访问Docker为每个容器创build的dynamic端口? 我们需要它是dynamic的,现在只是我们不知道如何保留它们,因为我们需要在其他地方使用它。 也许是环境variables的一种方式? 这是在Windows中的Docker。

映射端口可通过容器端点中的Docker API获得

这些信息通过以下方式暴露在cli中:

docker port CONTAINER 

可以从docker inspect获取相同的信息,从而允许您使用--format和Go模板格式化输出结果

 docker inspect CONTAINER --format ^ '{{ range $i, $el := .NetworkSettings.Ports }}{{(index $el 0).HostPort}}{{end}}'