docker 支持的四种网络 文章目录一、bridge模式二、host模式三、macvlan模式四、 ipvlan 模式docker支持四种网络bridge、host、ipvlan、macvlan一、bridge模式我们平时默认使用的是bridge即网桥模式不加额外参数使用的就是bridge模式。相当于我们使用的小路由的NAT模式容器的IP处于“172.17.0.0/16”的子网中外部IP无法直接和容器通讯。二、host模式host模式直接使用宿主机的网卡共用IP和MAC。$dockerrun--privileged\--networkhost\-d-itubuntu:latest\/bin/bash当使用host 模式容器内可以看到本机网卡信息host和bridge是docker默认带的两种网络macvlan和ipvlan需要单独创建。三、macvlan模式macvlan使用单独的mac和 单独的IPipvlan使用相同的mac和不同的IP。两种模式比较相似一个使用不同的mac另一个使用相同的mac。dockermacvlan 实例命令示例$dockernetwork create-dmacvlan\--subnet10.1.1.0/24\--gateway10.1.1.254\-oparenteth0 mymacvlan $dockerrun--nameadguard\--ip10.1.1.1\--networkmymacvlan\-dadguard/adguardhome四、 ipvlan 模式下面演示ipvlan 模式首先创建ipvlan网络$dockernetwork create\--driveripvlan\--subnet10.20.0.0/16\--gateway10.20.0.1\-oparentenp1s0\my_ipvlan_network创建完后查看docker网络状态然后创建容器引用ipvlan 网络$dockerrun--privileged\--ip10.20.0.2\--networkmy_ipvlan_network\-d-itubuntu:latest\/bin/bash在容器中检查网络通过ping命令测试新分配的IP同时在容器中通过tcpdump监听icmp ping 包从而判断当前网络是否是通的。默认的ubuntu:latest 镜像工具安装的不全。可以制作一个基础镜像把需要的工具补全。这样就拥有了一个全新的运行环境随时可以开一个新副本。基础包汇总如下apt-getinstallscreenapt-getinstallvimapt-getinstallpython3apt-getinstallpipapt-getinstallnet-toolsapt-getinstalliptablesapt-getinstallisc-dhcp-clientapt-getinstalliputils-pingapt-getinstallbind9-utilsapt-getinstallgitapt-getinstallnfs-common其中ifconfig工具在net-tools 包中ping在iputils-ping 包nslookup在bind9-utils 包showmount在nfs_common中。把该装的软件都装好然后导出作为基础镜像以后需要快速搭环境时可以当成裁剪的虚拟机使用。容器导出命令为$dockerexport-oubuntu_net.tar 98bcd091633d使用时可以将tar包导入当需要创建容器时调用导入的模板就能正常使用了。$dockerimportubuntu_net.tar ubuntu:net全文完。