容器网络类型
- None: 不为容器配置任何网络功能,–net=none 没网有什么应用吗。。。
- Container: 与另一个运行中的容器共享Network Namespace , --net=container:containerID(K8s大量使用)
- Host: 与宿主机共享Network Namespace, --net=hosts
- Bridge: Docker设计的NAT网络模型
macvlan
默认一个物理网卡,只有一个物理地址,虚拟多个mac地址
- 创建macvlan网络
docker network create --driver macvlan --subnet 10.0.0.0/24 --gateway 10.0.0.254 \
-o parent=eth0 macvlan_1
# -driver 指定Docker网络
# --subnet 指定macvlan网络所在的网络
# --gateway 指定网关
# -o parent 指定用来分配macvlan网络的物理网卡
docker network ls #查看
NETWORK ID NAME DRIVER SCOPE
aea1b62f2794 bridge bridge local
854b3c8daef6 host host local
e2269e7a6453 macvlan_1 macvlan local
014799c5b907 none null local
- 设置eth0的网卡为混杂模式
ip link set eth0 promisc on #ubunt系统下性需要设置
- 创建使用macvlan网络的容器
docker run -it --network macvlan_1 --ip=10.0.0.200 busybox #默认为Bridge