🙆‍♀️

Dockerネットワークとは?

2024/07/08に公開

Dockerで使用されるネットワークのこと。
composeファイルでネットワークの設定がありdockerを立ち上げた際にエラーが発生したので、調べてみました。

デフォルトネットワーク

Dockerをインストールした時に三つのDocker Networkがインストールされる。

Noneネットワークについて

ネットワーク接続を必要としないコンテナを作成する場合に使用。

Host

Hostネットワークは、Dockerホストと同じネットワークにスタックするドライバでDockerホストマシンと同じネットワークインターフェース、IPアドレスを持つ。

Bridge

Linux bridge機能を使った、Linux上に別のネットワークを使う方式。
Dockerホストが属するネットワークとは異なる、仮想bridge上のネットワークにコンテナを作成

ユーザー定義のネットワーク

コンテナのより優れた分離のために 自分でユーザー定義ネットワークを作成できる
新しいブリッジネットワークやオーバーレイネットワークを作成できる

最も簡単なユーザー定義ネットワークはブリッジネットワークの作成です
このネットワークの中で起動したコンテナは Dockerホスト上の他のコンテナとは独立しています ネットワーク内の各コンテンツは速やかに通信が可能です しかしコンテナ自身が含まれるネットワークは 外部のネットワークからは独立しています
ユーザー定義ブリッジネットワーク の内部ではリンク機能はサポート されません。
ですがこのネットワーク上にある コンテナのポートは公開可能です ブリッジネットワークの一部を 外のネットワークから使うときに 便利でしょう

ブリッジネットワークは単一ホスト上で比較的小さなネットワークの実行時に便利です。

Overlay network

異なるDockerホスト上に存在するコンテナに対して、同じネットワークに存在するコンテナとして透過的にアクセスすることができる。

  • Docker overlay networkは、異なるDockerホスト上のコンテナ間の通信を可能にする強力な機能。
  • Dockerネットワークには、それぞれ異なる特徴とユースケースがあるため、用途に応じて適切なネットワークを選択することが重要。

Dockerのオーバーレイネットワーク ドライバーは 複数ホストのネットワーキング にネイティブに対応するものです

Overlay Networkはキーバリューストア サービスが必要です
ネットワークの各ホストはそれぞれでDockerエンジンを動かす必要があります。 最も簡単なのは、Dockerマシンを用いてホストをプロビジョンする方法です。
host間ではUDPとTPCUDPのポートをオープンにすべきです。

複数のホストを横断するネットワークができる
一つのネットワークができるオーバーレイ ネットワークはコンテナに対して 完全なる独立機能を提供する

Discussion