‫Marty ask ドッカーのネットワークは､ ホストスラッシュのパブリックネットワークからセグメント化されていないのですか｡
‫同僚は､ Docker環境のIPレンジが通常の社内ネットワークと衝突するのではないかと考えているようです｡
‫だから､ 実はとてもいい質問なんです｡
‫最初の答えは「YES」です｡
‫ドッカーズ
‫つまり､ デフォルトではDockerのネットワークドライバを使用し､ デフォルトではbridgeが使用されています｡
‫もちろん他のネットワークドライバを使うこともできます｡
‫しかし､ Dockerネットワークドライバの一覧表があり､ Dockerネットワークを作成するだけで､ デフォルトのブリッジドライブを選択することもできますし､
‫ネットワークを指定せずにブリッジを使用することもできます｡
‫本番では､ swarm overlayやKubernetesが独自に持つネットワークドライバーなど､ 他のネットワークを利用することがほとんどです｡
‫ホストやMac v lanのようなものもありますし､ 技術的にはネットワークを無効にするNoneも使えますが､
‫ここで重要なのは､ デフォルトのブリッジネットワークについて話している場合､ おそらく実運用では使うことはないでしょうが､
‫ネットネットワークセグメントであり､ 独自のサブネット範囲であり､ ブリッジモードで動いているので､
‫会社のネットワークにそのプライベートサブネットから外れてNatすることになります｡
‫しかし､ 技術的にはあなたのネットの物理ネットワークと衝突しないとしても､ あなたのホストの外で使用されているのと同じサブネットを持つことはできないのです｡
‫そして､ それは単なる標準的なTCP IPルーティングによるものです｡
‫IPプロトコルのルーティングの詳細に従うと､ 例えばDockerのコンテナで10 0 0 0サブネットを使用していて､
‫企業ネットワークのどこかで10ドット0 1サブネットを使用している場合､ ローカルマシンのコンテナはそのネットワークへのルーティング方法を知らないことになるんだ｡
‫そうですね｡
‫Dockerのネットワークは通常172のサブネットで､
‫企業によってはサブネットが重なってしまい､
‫問題が発生することがあります｡
‫そうそう､ そうなんです｡
‫つまり､ これがデフォルトのサブネットです｡
‫画面上ではちょっとわかりにくいですが､ 1つのエンティティ168 65サブネットと私のサブネットになっています｡
‫これを変更することもできますが､ Swarmオーバーレイを使うかデフォルトブリッジを使うかによって､
‫デーモンの設定内の他のデフォルトを変更する必要があるかもしれません｡
‫そうそうこれは可能なんです｡
‫基本的に､ よくわからない場合は､ コンテナを作成して､ ネットワーク上の何かにpingを打てるかどうか試してみてください｡
‫通常､ これが問題であると伝える最初の方法は､ 私たちのマシンでコンテナを作成し､
‫データセンターやサーバークローゼットにある続編サーバなどにアクセスする必要がある場合です｡
‫そこで､ 自分のコンテナからそのマシンに接続しようとすると､ まったく接続できないのです｡
‫アプリケーションや使用するものによっては､ エラーになることがあります｡
‫もちろん､ 社内のすべてのサブネットを管理している人でなければ､
‫ネットワーク上で使われているすべてのサブネットを把握しているわけではありません｡
‫もうひとつは､ Ada of Uのようなクラウドを使っている場合です｡ S. のサブネットがあり､ そこにあなたの会社のインフラの一部があり､ あなたと8人の会社の間にVPNがある場合､
‫Ada Uのサブネットも気にする必要があります｡
‫S. とか､ それらも衝突するのかどうか｡
‫つまり､ Dockerのサブネットは必要であっても､ ネットワーク上の他のサブネットと同様に､ パケットの送受信に関する問題を解決する助けにはならないのです｡
‫基本的には使えません｡
‫2つのサブネットを同じように使うことは､ ネットワーク上では避けるべきですし､ おそらくできません｡
‫しかし､ パケットを送り返そうとすると､ そのIPアドレスは私のローカルサブネットにあるから､
‫その都市のパケットは必要ない､ と言うかもしれないのです｡
‫そうですね｡
‫というわけで､ ご理解いただけたでしょうか｡
‫これはIPサブタイトルの制限の一部であり､ 変更する必要があるかもしれません｡