コンテナの80ポートを動的にマッピングした時にホストOSにマッピングされたポートをdocker inspectコマンドだけで取得しようと思いましたが、どう頑張ってもうまくいきません。
go langのテンプレートに詳しい方のアドバイスを頂ければと考えました。

下記は、試みたことです。

コンテナの80ポートを動的にホストOSのポートに割り付けます。

$ docker run -p 80 -d -it --name test ubuntu:18.04
$ docker ps | grep test
9dda4ab9febf        ubuntu:18.04                     "/bin/bash"              23 seconds ago      Up 22 seconds       0.0.0.0:32770->80/tcp     test
$ 

docker inspectでは、下記の通り、80/tcpが32770にマッピングされた情報が出力されています。

$ docker inspect test | jq '.[0].NetworkSettings.Ports'
{
  "80/tcp": [
    {
      "HostIp": "0.0.0.0",
      "HostPort": "32770"
    }
  ]
}

下記で取得することはできるのですが、複数のポートが割り付けられた場合にコンテナの80ポートを指定したいと考えました。

$ docker inspect --format='{{range .NetworkSettings.Ports}}{{range .}}{{.HostPort}}{{end}}{{end}}' test
32770
$

"80/tcp"を指定すればよいかと考えましたが下記の通りだめでした。

$ docker inspect --format='{{range .NetworkSettings.Ports}}{{range .80/tcp}}{{.HostPort}}{{end}}{{end}}' test
Template parsing error: template: :1: unexpected "/" in operand
$ 

エスケープ文字の問題だとは思うのですが、"\"や"で囲ってもうまくいきませんでした。