docker 支持的四种网络
2026/6/5 5:42:59 网站建设 项目流程

文章目录

    • 一、bridge模式
    • 二、host模式
    • 三、macvlan模式
    • 四、 ipvlan 模式

docker支持四种网络:bridgehostipvlanmacvlan

一、bridge模式

我们平时默认使用的是bridge,即网桥模式(不加额外参数使用的就是bridge模式)。相当于我们使用的小路由的NAT模式,容器的IP处于“172.17.0.0/16”的子网中,外部IP无法直接和容器通讯。

二、host模式

host模式直接使用宿主机的网卡,共用IPMAC

$dockerrun--privileged\--networkhost\-d-itubuntu:latest\/bin/bash

当使用host 模式,容器内可以看到本机网卡信息:

hostbridgedocker默认带的两种网络,macvlanipvlan需要单独创建。

三、macvlan模式

macvlan使用单独的mac和 单独的IPipvlan使用相同的mac和不同的IP。两种模式比较相似,一个使用不同的mac,另一个使用相同的mac

dockermacvlan 实例

命令示例:

$dockernetwork create-dmacvlan\--subnet=10.1.1.0/24\--gateway=10.1.1.254\-oparent=eth0 mymacvlan $dockerrun--nameadguard\--ip=10.1.1.1\--networkmymacvlan\-dadguard/adguardhome

四、 ipvlan 模式

下面演示ipvlan 模式,首先创建ipvlan网络:

$dockernetwork create\--driver=ipvlan\--subnet=10.20.0.0/16\--gateway=10.20.0.1\-oparent=enp1s0\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 包中,pingiputils-ping 包nslookupbind9-utils 包showmountnfs_common中。

把该装的软件都装好,然后导出作为基础镜像,以后需要快速搭环境时可以当成裁剪的虚拟机使用。

容器导出命令为:

$dockerexport-oubuntu_net.tar 98bcd091633d

使用时可以将tar包导入,当需要创建容器时,调用导入的模板就能正常使用了。

$dockerimportubuntu_net.tar ubuntu:net

全文完。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询