Docker network driver plugins (Engine)

Engine network driver plugins

Docker Engine network plugins enable Engine deployments to be extended to support a wide range of networking technologies, such as VXLAN, IPVLAN, MACVLAN or something completely different. Network driver plugins are supported via the LibNetwork project. Each plugin is implemented as a “remote driver” for LibNetwork, which shares plugin infrastructure with Engine. Effectively, network driver plugins are activated in the same way as other plugins, and use the same kind of protocol.

Network driver plugins and swarm mode

Docker 1.12 adds support for cluster management and orchestration called swarm mode. Docker Engine running in swarm mode currently only supports the built-in overlay driver for networking. Therefore existing networking plugins will not work in swarm mode.

When you run Docker Engine outside of swarm mode, all networking plugins that worked in Docker 1.11 will continue to function normally. They do not require any modification.

Using network driver plugins

The means of installing and running a network driver plugin depend on the particular plugin. So, be sure to install your plugin according to the instructions obtained from the plugin developer.

Once running however, network driver plugins are used just like the built-in network drivers: by being mentioned as a driver in network-oriented Docker commands. For example,

$ docker network create --driver weave mynet

Some network driver plugins are listed in plugins

The mynet network is now owned by weave, so subsequent commands referring to that network will be sent to the plugin,

$ docker run --network=mynet busybox top

Write a network plugin

Network plugins implement the Docker plugin API and the network plugin protocol

Network plugin protocol

The network driver protocol, in addition to the plugin activation call, is documented as part of libnetwork: https://github.com/docker/libnetwork/blob/master/docs/remote.md.

To interact with the Docker maintainers and other interested users, see the IRC channel #docker-network.

© 2013–2016 Docker, Inc.
Licensed under the Apache License, Version 2.0.
Docker and the Docker logo are trademarks or registered trademarks of Docker, Inc. in the United States and/or other countries.
Docker, Inc. and other parties may also have trademark rights in other terms used herein.
https://docs.docker.com/engine/extend/plugins_network/

在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号

意见反馈
返回顶部