meta data for this page
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
linux:docker [2019/01/29 12:19] – [Network] niziak | linux:docker [2019/03/28 09:19] – [Linux Kernel drivers] niziak | ||
---|---|---|---|
Line 136: | Line 136: | ||
* Many NICs have a limit on the number of MAC addresses they support in hardware. Exceeding the limit may affect the performance. | * Many NICs have a limit on the number of MAC addresses they support in hardware. Exceeding the limit may affect the performance. | ||
* IEEE 802.11 doesn’t like multiple MAC addresses on a single client. It is likely macvlan sub-interfaces will be blocked by your wireless interface driver, AP or both | * IEEE 802.11 doesn’t like multiple MAC addresses on a single client. It is likely macvlan sub-interfaces will be blocked by your wireless interface driver, AP or both | ||
+ | * **Note**: Linux Macvlan interface types are not able to ping or communicate with the default namespace IP address. For example, if you create a container and try to ping the Docker host's eth0 it will not work. That traffic is explicitly filtered by the kernel to offer additional provider isolation and security. This is a common gotcha when a user first uses those Linux interface types since it is natural to ping local addresses when testing. | ||
+ | |||
* **ipvlan** - [[https:// | * **ipvlan** - [[https:// | ||
* **L2** - bridge mode (requires external router if endpoints are in different networks) | * **L2** - bridge mode (requires external router if endpoints are in different networks) | ||
Line 146: | Line 148: | ||
+ | ==== macvlan ==== | ||
+ | |||
+ | There can be only one macvlan network with the same subnet and gateway. So better is to create network manually: | ||
+ | <code bash> | ||
+ | docker network create --driver=macvlan \ | ||
+ | -o parent=" | ||
+ | --subnet=" | ||
+ | --gateway=" | ||
+ | ${NETWORK_NAME} | ||
+ | </ | ||
+ | |||
+ | and then attach containers to existing network: | ||
+ | <file yaml docker-compose.yml> | ||
+ | version: ' | ||
+ | |||
+ | services: | ||
+ | myservice: | ||
+ | networks: | ||
+ | lan: | ||
+ | | ||
+ | |||
+ | networks: | ||
+ | lan: | ||
+ | external: | ||
+ | name: real_lan | ||
+ | </ | ||
+ | |||
+ | or | ||
+ | <code bash> | ||
====== data persistence in swarm ====== | ====== data persistence in swarm ====== |