1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Ubuntu 20.04 Dockerのmacvlanについて

Last updated at Posted at 2021-08-21

macvlanをググる

例えば、ネットワークトラフィックの監視やシステム管理などのレガシーなDockerアプリケーションを構築した場合、物理的なネットワークに直接接続されることが予想されます。 このような状況では、macvlanネットワークドライバを使用して、各コンテナの仮想ネットワークインターフェースにMACアドレスを割り当て、物理ネットワークに直接接続された物理ネットワークインターフェースのように見せることができます。

各コンテナ=Linuxコンテナ

どうゆうことなのか?

Dockerは複数のネットワーク接続方式をネットワークドライバというPluggableな形式でサポートしている。


  • Default Bridge

コンテナ開始時になにも指定しなければコンテナはdocker0に接続される。コンテナにはIPアドレスが付与される。

そうなんだねー。
こんな感じらしい。


  • User Defined Bridge

ユーザーは新たなブリッジを作成することができる。作成されたブリッジに接続されたコンテナにIPアドレスが付与される。コンテナ名とIPアドレスがDNSサービスに登録される。

docker network create --driver bridge myBridge
docker run -it ubuntu-image --net=myBridge

で、macvlanは?

  • macvlan

ホストのEthernetポートに仮想的なポートを作成してコンテナに割り当てる。仮想的なポートは固有のMACアドレスを持っている。また、通常のホストポート同様にIPアドレスを割り当てることができる。
コンテナはホスト外(10.0.0.0/24)とNATなしで通信できる。
コンテナはmacvlanを利用する他のコンテナと通信することができる。 ←ここ重要。
macvlanの制限事項としてホストのEthernetポートとは通信できない。

docker network create --driver macvlan --subnet=10.0.0.0/24 --gateway=10.0.0.1 -o parent=Eth mcv
docker run -it ubuntu-image --net=mcv

ほうほう、なるほどねー👍

(了)

1
2
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
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?