0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【前編】Dockerのネットワークってどんな感じ?

Last updated at Posted at 2025-10-07

ここではDockerを立てたときのネットワークの説明をします。Dockerを構築する上でネットワークのイメージは欠かせないものです。【後半】では実際にDockerを立てます。説明がいらないという方は【後半】を読んでください。

Dockerって?

ソフトウェアを「コンテナ」と呼ばれる独立したユニットにパッケージ化するプラットフォームです。下の画像がよくあるやつですね。
k8s-Docker_img.jpg
Dockerエンジンがソフトウェアとして配布されています。その上にコンテナを起動して動かしていきます。

コンテナを構成するもの

コンテナはアプリを動かすために必要な最小限の環境をパッケージ化したものです。以下のもので構成されています。

  • ファイルシステム
  • プロセス
  • ネットワーク設定
  • メタデータ
  • ネームスペースと cgroups

ここでネームスペースと cgroupsの説明をします。

ネームスペースと cgroups

ネームスペースとは、他のプロセスやネットワークから隔離するシステムです。これによって他のプロセスから邪魔されたり、ネットワークが混同することがなくなります。
またcgroupsは、CPUやメモリ、I/Oなどのリソースに制限をかけるものです。

つまりこの二つがあることで、コンテナが独立しているように見えるというわけです。

ネットワークモード

コンテナがどのような立ち位置になるかを決めるモードです。ここでは5種類紹介します。

bridgeモード

Dockerコンテナを立てたときのデフォルトの設定です。

[ホスト]
 ├── eth0 : 192.168.1.10(LAN上のIP)
 └── docker0 : 172.17.0.1(仮想ブリッジ)
     └── [コンテナ] : 172.17.0.2

厳密ではないですが、イメージ的には下の画像がわかりやすいと思います。
k8s-Docker_brige.png
この場合特別に設定(ポートフォワーディングとか)しないとホストデバイスの外からコンテナにアクセスすることはできません。
また図から分かる通り、コンテナ同士は疎通を通すことができます。

hostモード

ホストデバイスと同じネットワークを利用します。ipによる接続はできませんが、5432番のポート指定を行うとアクセスが可能です。

[ホスト]
 ├── eth0 : 192.168.1.10(LAN上のIP)
 └── [コンテナ] : IPなし

コンテナ共有モード

あるコンテナが使用しているネットワークを、そのまま利用するモードです。あるコンテナがすでに使用しているIPやポートも全て共有します。あとから共有したコンテナがdownしても問題ないですが、共有した側のコンテナがdownすると共有したコンテナ全体が落ちます。

macvalnモード

[ホスト]
 ├── eth0 : 192.168.1.10(LAN上のIP)
 └── [コンテナ] : 192.168.2.10

k8s-Docker_main.png
物理層のポートを利用するモードです。外部からのIPによるアクセスが可能になります。やってることとしては

  • 新しくネットワークbridgeを作成する
  • bridgeを物理ポートと結びつける
  • 物理ポートと結びつけたbridgeを、コンテナと繋げる

たったこれだけ。物理NICを仮想的に分割しているから一つの物理ポートで複数のIP addressを管理することも可能。一番直感的で使いやすいと思います。

noneモード

完全に孤立した状態です。ネットワークを持ちません。検証用などに使用します。

おわりに

今回はDockerを立てたときに構築されるネットワークを中心に解説していきました。他にもDockerに関する記事をあげているのでそちらもご覧ください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?