PortainerでDockerネットワークを作成・管理する方法 - TechRepublic

PortainerでDockerネットワークを作成・管理する方法 - TechRepublic
コンテナのコンセプト
画像: Avigator Fortuner/Shutterstock

Dockerコンテナを使い始めたばかりの方は、私のお気に入りのDockerツールの一つであるPortainerをご存知かもしれません。このWebベースのツールを使えば、Dockerコンテナのほぼすべての側面を管理できます。その一つがネットワークです。

参照:採用キット: バックエンド開発者(TechRepublic Premium)

しかし、なぜDockerコンテナのネットワークを管理する必要があるのでしょうか?一言で言えば…分離です。Dockerネットワークを使用すると、必要に応じてDockerコンテナを任意の数のネットワークに接続でき、コンテナ同士を分離することもできます。Dockerネットワークを使用するべき理由はいくつかあります。

  • コンテナを分離されたネットワークにデプロイできます。
  • ワークロードを実行するために必要な OS インスタンスの数が少なくなります。
  • アプリケーションの配信を迅速化します。
  • アプリケーションの移植性を高めます。

Portainerを使ってDockerネットワークを作成する前に、プラットフォームで利用可能な様々なネットワークドライバーについて理解しておくことが重要です。これらのドライバーは以下のとおりです。

  • bridge – デフォルトのネットワークドライバー。通信にネットワークを必要とするスタンドアロンコンテナにアプリケーションをデプロイする場合に使用されます。複数のコンテナが同じホストと通信する必要がある場合に使用されます。
  • host – スタンドアロンコンテナ用の別のネットワーク。このネットワークのみがホストネットワークを使用します。ネットワークスタックがホストと通信できないようにする必要がある場合に使用します。
  • overlay – 複数のDockerデーモンを接続し、Swarmサービスが相互に通信できるようにします。異なるホスト上のコンテナが相互に通信する必要がある場合に使用します。
  • ipvlan – IPv4とIPv6の両方のアドレス指定をユーザーに完全に制御させます。ネットワークをより細かく制御する必要がある場合に使用します。
  • macvlan –コンテナにMACアドレスを割り当て、ネットワーク上で物理デバイスとして表示できるようにします。コンテナをネットワーク上で物理ホストとして表示する必要がある場合に使用します。

Portainer ではホスト ネットワーク オプションがないため、使用できるのはブリッジ、ipvlan、macvlan、およびオーバーレイのみです。

それでは、ネットワークについて見ていきましょう。

PortainerでDockerネットワークを作成する方法

Portainerインスタンスにログインします。Portainerをまだデプロイしていない場合は、「永続ストレージを備えたPortainerコンテナ管理ツールのデプロイ方法」でデプロイ方法を確認してください。ログインしたら、左側のサイドバーにある「Networking」をクリックします(図A)。

図A

Portainer サイドバー ナビゲーションの [ネットワーク] エントリ。
Portainer サイドバー ナビゲーションの [ネットワーク] エントリ。

表示されるウィンドウ (図 B ) で、[ネットワークの追加] をクリックします。

図B

ここでは、以前に作成されたいくつかのネットワークが表示されます。
ここでは、以前に作成されたいくつかのネットワークが表示されます。

「ネットワークの作成」ウィンドウ (図 C ) で、最初に新しいネットワークに名前を付けます。

図C

Portainer で最初のネットワークを作成します。
Portainer で最初のネットワークを作成します。

このネットワークを「trtest」と名付けましょう。デフォルトのブリッジドライバーを使用するので、ドライバーのドロップダウンから「Bridge」を選択します。

次に、IPv4の範囲、サブネット、ゲートウェイを定義します。例えば、IPv4サブネットに10.0.0.0/16、IPv4の範囲に10.0.0.0/25、ゲートウェイに10.0.0.1を割り当てるとします。範囲内のIPアドレスを除外する必要がある場合は、「除外IPを追加」をクリックし、必要な値を入力します。

分離ネットワークにする場合は、「オン/オフ」スライダーを必ず「オン」の位置にクリックしてください。また、コンテナの手動接続を有効にする場合は、「コンテナの手動接続を有効にする」のオン/オフスライダーを「オン」の位置にクリックしてください。

このネットワークへのアクセスを管理者、特定のユーザー、またはグループに制限することもできます。その場合は、まず承認されたチームまたはユーザーを作成する必要があります。

必要な情報を入力したら、「ネットワークを作成」をクリックします。すぐにネットワーク一覧に戻り、trtestが利用可能になっているはずです。そのネットワークをクリックすると、IDとネットワーク設定が表示されます(図D)。

図D

新しく作成された trtest ネットワーク。
新しく作成された trtest ネットワーク。

ネットワークで編集できるのは所有権のみであることにご注意ください。つまり、ネットワークを作成した後で、権限のあるユーザーまたはチームを作成すれば、そのネットワークをそれらの制限付きユーザーに再割り当てできます。それ以外の場合、ネットワーク設定を変更することはできません。

新しいネットワークの使い方

新しいネットワークを使って、新しいコンテナを作成しましょう。左側のサイドバーで「コンテナ」をクリックし、「コンテナを追加」をクリックします。表示されるウィンドウで、通常通りコンテナの情報を入力し、画面下部にある「ネットワーク」タブをクリックします。表示される画面で、「ネットワーク」ドロップダウンから新しいネットワークを選択できます(図E)。

図E

コンテナの作成中に trtest ネットワークを選択します。
コンテナの作成中に trtest ネットワークを選択します。

コンテナの設定が完了したら、「コンテナをデプロイ」をクリックします。コンテナが正常にデプロイされると、リストに表示され、ネットワークで設定したIPv4範囲内のIPアドレスが表示されます(図F)。

図F

trtest コンテナ (trtest ネットワークに接続) の IP アドレスは 10.0.0.2 です。
trtest コンテナ (trtest ネットワークに接続) の IP アドレスは 10.0.0.2 です。

おめでとうございます!PortainerのGUIを使って、Dockerネットワークを作成し、コンテナに接続できました。コンテナに関する知識を深めるために、ぜひ試してみてください。

Jack Wallen によるビジネス プロフェッショナル向けの最新のテクノロジー アドバイスをすべて知るには、YouTube でTechRepublic の How To Make Tech Work を購読してください。

Tagged: