docker のコンテナに特定のアドレスのポートを紐づける備忘録

Photo by hyt.

docker のコンテナに特定のアドレスのポートを紐づける備忘録です.

docker のコンテナとホストのポートを紐づける(ポートフォワードする)設定は色々なサイトに紹介してあるのですが,何故だかコンテナに特定のアドレスの特定のポートを紐づける設定はあまり見かけません.と言うことで,その方法の備忘録です.

いつもの通りズバリ結論は,

docker … -p ip_address:port(host):port(CONTAINER) …

で良さそうです.

いつ使うのか?

Linux の場合,以下のように簡単に複数の IP アドレスを一つの(物理)NIC に割り当てることができます(nmtui でやった方が簡単かもしれません).

こういうことする理由って,もちろん,同じポートを使う複数のサービスを一つの(物理)NICで提供したいっていう場合です.

上の例だと,例えば,

  • 192.168.100.14:443 は portainer.io で利用する.
  • 192.168.100.212:443 は apache で利用する.

としたい場合なんかでしょう.

もちろん,どちらも docker のコンテナが提供されていますので,docker run …. とやって簡単に済ませたい訳です.

実際やってみると,

の通り,きちんと期待通りの動きになっていることが分かります.

前回記事

docker のコンテナをホストと同じネットワークに所属させる...

の通り,macvlan を使う手もありますが,docker 的にはこちらの方が筋の良いやり方なんじゃないかなと思います.

以上!

スポンサーリンク
large rectangle advertisement
スポンサーリンク
large rectangle advertisement