type
status
date
slug
summary
tags
category
icon
password
书籍
Dockerネットワークのアクセス
目的
このセクションを完了した後、学生は次のことができるようになります:
- コンテナとのネットワーキングの基本を説明する。
- コンテナ内のサービスにリモートで接続する。
拡張-VMのネットワークモード
NATモード
- 仮想マシンと VMnet8 adapter は 同じネットワーク にあり、VMnet8 switchで通信できます。
- 仮想マシンと 物理ネットワーク adapter は 異なるネットワーク にあり、外部と通信するために VMnet8 switchのNATを使用します。

ブリッジモード(Bridge Mode)
- 仮想マシンは物理ネットワーク(ホストマシンが接続されているネットワーク)と 同じネットワーク 上にあり、VMnet0スイッチ を通じてホストと 直接通信 することができます。
- 仮想マシンは物理ネットワークの一部として動作し、外部のインターネットや同じネットワーク内の他のデバイスと 直接通信 が可能です。

ホストオンリーモード(Host-Only Mode)
- 仮想マシンと VMnet1 adapter は 同じネットワーク にあり、VMnet1 switchで通信できます。

コンテナとのネットワーキングの紹介
デフォルトでは、Dockerエンジンはブリッジネットワークモードを使用します。このモードでは、iptablesとNATを使用して、コンテナがホストマシンのネットワークに接続できるようになります。DockerのブリッジモードはVMのNATモードと同じ、混乱してしまいそう、気を付けて!


各コンテナのネットワーキングスタックとブリッジ
各コンテナにはネットワーキングスタックが割り当てられ、Dockerは仮想スイッチを使用してこれらのコンテナ間の通信を可能にするブリッジを提供します。
- 同一ホスト内のコンテナ:それぞれユニークなIPアドレスを持つ。
- 異なるホスト上のコンテナ:同じIPアドレスを共有することができる。
- 同じホスト上で同じブリッジに接続されたコンテナ:IPアドレスを使って自由に通信可能。
また、デフォルトでは、すべてのコンテナネットワークは実際のネットワークから隠されています。
- コンテナは通常、外部ネットワークへのアクセスは可能ですが、明示的に設定しない限り、外部からコンテナネットワークへのアクセスはできません。
ネットワークポートのマッピング
外部からコンテナにアクセスする場合、次のような問題があります:
- コンテナに割り当てるIPアドレスを指定できない。
- 新しいコンテナが作成されるたびに、IPアドレスが変更される。
- コンテナネットワークはコンテナホストからのみアクセス可能。
これらの問題を解決するために、コンテナホストのネットワークモデルとネットワークアドレス変換(NAT)ルールを組み合わせて、外部アクセスを可能にする方法があります。
このためには、
-p
オプションを使用します。このコマンドでは、コンテナホストがポート8080で受け取ったリクエストを、コンテナ内のポート80に転送します。
ポート転送のためのIPアドレスの指定
ポート転送の際に、特定のIPアドレスを指定することも可能です。
次のコマンドで、特定のIPアドレスとポートを指定してコンテナを実行できます:
この例では、ホストのIPアドレス
192.168.1.5
のポート8080を、コンテナ内のポート80に転送します。ホストポートを指定しない場合
ホストポートを指定しない場合、コンテナは利用可能なランダムなポートを自動的に選択します:
この場合、ホストのIPアドレス
192.168.1.5
にポート80を割り当て、ホスト側のランダムなポートが選ばれます。すべてのインターフェースでリッスンする場合
すべてのインターフェースでリッスンし、利用可能なポートを自動的に選ばせることもできます:
このコマンドでは、ホストのすべてのインターフェースでポート80を使用し、適切なポートが自動的に選択されます。
- 作者:みなみ
- 链接:https://www.minami.ac.cn//%E8%B3%87%E6%A0%BC%E5%8B%89%E5%BC%B7/142d7ae8-88e2-801e-934c-dd7afa678163
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章