mirror of https://github.com/docker/docs.git
Fix typos (#8650)
This commit is contained in:
parent
dd33a5c96a
commit
8b8107e3b7
|
@ -1,5 +1,5 @@
|
||||||
---
|
---
|
||||||
title: Use Macvlan networks
|
title: Use macvlan networks
|
||||||
description: All about using macvlan to make your containers appear like physical machines on the network
|
description: All about using macvlan to make your containers appear like physical machines on the network
|
||||||
keywords: network, macvlan, standalone
|
keywords: network, macvlan, standalone
|
||||||
redirect_from:
|
redirect_from:
|
||||||
|
@ -13,25 +13,27 @@ this type of situation, you can use the `macvlan` network driver to assign a MAC
|
||||||
address to each container's virtual network interface, making it appear to be
|
address to each container's virtual network interface, making it appear to be
|
||||||
a physical network interface directly connected to the physical network. In this
|
a physical network interface directly connected to the physical network. In this
|
||||||
case, you need to designate a physical interface on your Docker host to use for
|
case, you need to designate a physical interface on your Docker host to use for
|
||||||
the Macvlan, as well as the subnet and gateway of the Macvlan. You can even
|
the `macvlan`, as well as the subnet and gateway of the `macvlan`. You can even
|
||||||
isolate your Macvlan networks using different physical network interfaces.
|
isolate your `macvlan` networks using different physical network interfaces.
|
||||||
Keep the following things in mind:
|
Keep the following things in mind:
|
||||||
|
|
||||||
- It is very easy to unintentionally damage your network due to IP address
|
- It is very easy to unintentionally damage your network due to IP address
|
||||||
exhaustion or to "VLAN spread", which is a situation in which you have an
|
exhaustion or to "VLAN spread", which is a situation in which you have an
|
||||||
inappropriately large number of unique MAC addresses in your network.
|
inappropriately large number of unique MAC addresses in your network.
|
||||||
|
|
||||||
- Your networking equipment needs to be able to handle "promiscuous mode",
|
- Your networking equipment needs to be able to handle "promiscuous mode",
|
||||||
where one physical interface can be assigned multiple MAC addresses.
|
where one physical interface can be assigned multiple MAC addresses.
|
||||||
|
|
||||||
- If your application can work using a bridge (on a single Docker host) or
|
- If your application can work using a bridge (on a single Docker host) or
|
||||||
overlay (to communicate across multiple Docker hosts), these solutions may be
|
overlay (to communicate across multiple Docker hosts), these solutions may be
|
||||||
better in the long term.
|
better in the long term.
|
||||||
|
|
||||||
## Create a macvlan network
|
## Create a macvlan network
|
||||||
|
|
||||||
When you create a Macvlan network, it can either be in bridge mode or 802.1q
|
When you create a `macvlan` network, it can either be in bridge mode or 802.1q
|
||||||
trunk bridge mode.
|
trunk bridge mode.
|
||||||
|
|
||||||
- In bridge mode,Macvlan traffic goes through a physical device on the host.
|
- In bridge mode, `macvlan` traffic goes through a physical device on the host.
|
||||||
|
|
||||||
- In 802.1q trunk bridge mode, traffic goes through an 802.1q sub-interface
|
- In 802.1q trunk bridge mode, traffic goes through an 802.1q sub-interface
|
||||||
which Docker creates on the fly. This allows you to control routing and
|
which Docker creates on the fly. This allows you to control routing and
|
||||||
|
@ -39,7 +41,7 @@ trunk bridge mode.
|
||||||
|
|
||||||
### Bridge mode
|
### Bridge mode
|
||||||
|
|
||||||
To create a Macvlan network which bridges with a given physical network
|
To create a `macvlan` network which bridges with a given physical network
|
||||||
interface, use `--driver macvlan` with the `docker network create` command. You
|
interface, use `--driver macvlan` with the `docker network create` command. You
|
||||||
also need to specify the `parent`, which is the interface the traffic will
|
also need to specify the `parent`, which is the interface the traffic will
|
||||||
physically go through on the Docker host.
|
physically go through on the Docker host.
|
||||||
|
@ -47,18 +49,18 @@ physically go through on the Docker host.
|
||||||
```bash
|
```bash
|
||||||
$ docker network create -d macvlan \
|
$ docker network create -d macvlan \
|
||||||
--subnet=172.16.86.0/24 \
|
--subnet=172.16.86.0/24 \
|
||||||
--gateway=172.16.86.1 \
|
--gateway=172.16.86.1 \
|
||||||
-o parent=eth0 pub_net
|
-o parent=eth0 pub_net
|
||||||
```
|
```
|
||||||
|
|
||||||
If you need to exclude IP addresses from being used in the Macvlan network, such
|
If you need to exclude IP addresses from being used in the `macvlan` network, such
|
||||||
as when a given IP address is already in use, use `--aux-addresses`:
|
as when a given IP address is already in use, use `--aux-addresses`:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ docker network create -d macvlan \
|
$ docker network create -d macvlan \
|
||||||
--subnet=192.168.32.0/24 \
|
--subnet=192.168.32.0/24 \
|
||||||
--ip-range=192.168.32.128/25 \
|
--ip-range=192.168.32.128/25 \
|
||||||
--gateway=192.168.32.254 \
|
--gateway=192.168.32.254 \
|
||||||
--aux-address="my-router=192.168.32.129" \
|
--aux-address="my-router=192.168.32.129" \
|
||||||
-o parent=eth0 macnet32
|
-o parent=eth0 macnet32
|
||||||
```
|
```
|
||||||
|
@ -70,7 +72,7 @@ Docker interprets that as a sub-interface of `eth0` and creates the sub-interfac
|
||||||
automatically.
|
automatically.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ docker network create -d macvlan \
|
$ docker network create -d macvlan \
|
||||||
--subnet=192.168.50.0/24 \
|
--subnet=192.168.50.0/24 \
|
||||||
--gateway=192.168.50.1 \
|
--gateway=192.168.50.1 \
|
||||||
-o parent=eth0.50 macvlan50
|
-o parent=eth0.50 macvlan50
|
||||||
|
@ -85,26 +87,25 @@ instead, and get an L2 bridge. Specify `-o ipvlan_mode=l2`.
|
||||||
$ docker network create -d ipvlan \
|
$ docker network create -d ipvlan \
|
||||||
--subnet=192.168.210.0/24 \
|
--subnet=192.168.210.0/24 \
|
||||||
--subnet=192.168.212.0/24 \
|
--subnet=192.168.212.0/24 \
|
||||||
--gateway=192.168.210.254 \
|
--gateway=192.168.210.254 \
|
||||||
--gateway=192.168.212.254 \
|
--gateway=192.168.212.254 \
|
||||||
-o ipvlan_mode=l2 ipvlan210
|
-o ipvlan_mode=l2 ipvlan210
|
||||||
```
|
```
|
||||||
|
|
||||||
## Use IPv6
|
## Use IPv6
|
||||||
|
|
||||||
If you have [configured the Docker daemon to allow IPv6](/config/daemon/ipv6.md),
|
If you have [configured the Docker daemon to allow IPv6](/config/daemon/ipv6.md),
|
||||||
you can use dual-stack IPv4/IPv6 Macvlan networks.
|
you can use dual-stack IPv4/IPv6 `macvlan` networks.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ docker network create -d macvlan \
|
$ docker network create -d macvlan \
|
||||||
--subnet=192.168.216.0/24 --subnet=192.168.218.0/24 \
|
--subnet=192.168.216.0/24 --subnet=192.168.218.0/24 \
|
||||||
--gateway=192.168.216.1 --gateway=192.168.218.1 \
|
--gateway=192.168.216.1 --gateway=192.168.218.1 \
|
||||||
--subnet=2001:db8:abc8::/64 --gateway=2001:db8:abc8::10 \
|
--subnet=2001:db8:abc8::/64 --gateway=2001:db8:abc8::10 \
|
||||||
-o parent=eth0.218 \
|
-o parent=eth0.218 \
|
||||||
-o macvlan_mode=bridge macvlan216
|
-o macvlan_mode=bridge macvlan216
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
## Next steps
|
## Next steps
|
||||||
|
|
||||||
- Go through the [macvlan networking tutorial](/network/network-tutorial-macvlan.md)
|
- Go through the [macvlan networking tutorial](/network/network-tutorial-macvlan.md)
|
||||||
|
|
Loading…
Reference in New Issue