Docker ネットワーク・プラグイン¶
Docker ネットワーク・プラグインは、Docker が広範囲のネットワーク技術のサポートによりデプロイできるように拡張されています。VXLAN、IPVLAN、MACVLAN 、あるいはこれらとも全く異なります。ネットワーク・ドライバ・プラグインは LibNetwork プロジェクトによってサポートされています。各ネットワーク・プラグインは LibNetwork の「リモート・ドライバ」であり、これは Docker とプラグイン基盤を共有するものです。効果的なのは、プラグイン基盤の共有によって、他のプラグインを同じように扱え、かつ同様のプロトコルを扱えることです。
ネットワーク・ドライバ・プラグインを使う¶
ネットワーク・ドライバ・プラグインのインストール実行は、個々のプラグインに依存します。そのため、プラグインをインストールするには、各プラグインの開発者から指示を得てください。
ネットワーク・ドライバを実行しても、内部ネットワーク・ドライバのように扱えないかもしれません。ネットワーク対応の Docker コマンドでドライバを操作します。例えば、次のようなコマンドです。
$ docker network create --driver weave mynet
ネットワーク・ドライバのプラグイン一覧は、 こちら をご覧ください。
mynet
ネットワークは weave
の所有となりましたので、以下に続くコマンドは、プラグインの管理するネットワークに対して送信されます。
$ docker run --net=mynet busybox top
ネットワーク・プラグインを書くには¶
ネットワーク・プラグインの実装は、 Docker プラグイン API のネットワーク・プラグイン・プロトコルをご覧ください。
ネットワーク・プラグイン・プロトコル¶
ネットワーク・ドライバ・プロトコルとは、プラグイン・アクティベーション・コール(plugin activation call)の追加です。詳細については libnetwork の該当ドキュメント https://github.com/docker/libnetwork/blob/master/docs/remote.md をご覧ください。
関連情報¶
Docker メンテナや他のユーザと対話するには、IRC チャンネルの #docker-network
にお越し下さい。
- Docker ネットワーク機能の概要
- LibNetwork プロジェクト
参考
- Engine network driver plugins
- https://docs.docker.com/engine/extend/plugins_network/