コマンド出力から必要なポート番号を解析したいですdocker port
。このdocker port <container-name>
コマンドは、次の出力を返します。
15672/tcp -> 0.0.0.0:49187 5672/tcp -> 0.0.0.0:49188
5678/tcp -> 0.0.0.0:49189
したがって、単一のポート番号または2つのポート番号です。
幸い、コマンドが2つのポート番号を出力する場合は、常に2番目のポート番号を表示するだけです。これを明確にするために、上記の両方の例は49188
コマンド出力から値を解析して移植する必要があります。49189
docker port
これを達成するための最短の方法は何ですか?
ベストアンサー1
簡単な作業のように聞こえますsed
。
docker port <container-name> | sed 's/^.*:\([0-9]*\)$/\1/'
または必要に応じてawk
:
docker port <container-name> | awk -F':' '{print $NF}'