docker 支持的四种网络

admin 2025年6月13日10:10:26评论13 views字数 1597阅读5分19秒阅读模式
docker 支持四种网络:bridge、host、ipvlan、macvlan

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

docker 支持的四种网络

host 模式直接使用宿主机的网卡,共用IP和MAC。

$ docker run --privileged  --network host -d -it ubuntu:latest /bin/bash

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

docker 支持的四种网络

host 和 bridge 是 docker 默认带的两种网络,macvlan 和 ipvlan 需要单独创建。macvlan 使用单独的 mac 和 单独的 IP;ipvlan 使用相同的 mac 和不同的  IP。两种模式比较相似,一个使用不同的 mac,另一个使用相同的 mac。

macvlan 例子参考之前写的文章:

docker macvlan 实例

命令示例:

$ docker network create -d macvlan               --subnet=10.1.1.0/24               --gateway=10.1.1.254               -o parent=eth0 mymacvlan$ docker run --name adguard               --ip=10.1.1.1         --network mymacvlan        -d adguard/adguardhome

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

$ docker network create   --driver=ipvlan   --subnet=10.20.0.0/16   --gateway=10.20.0.1   -o parent=enp1s0   my_ipvlan_network

 创建完后,查看 docker 网络状态:

docker 支持的四种网络

然后创建容器,引用 ipvlan 网络:

$ docker run --privileged  --ip 10.20.0.2 --network my_ipvlan_network -d -it ubuntu:latest /bin/bash

在容器中检查网络:

docker 支持的四种网络

通过 ping 命令测试新分配的IP,同时在容器中通过 tcpdump 监听 icmp ping 包,从而判断当前网络是否是通的。

docker 支持的四种网络

默认的 ubuntu:latest 镜像,工具安装的不全。可以制作一个基础镜像,把需要的工具补全。这样就拥有了一个全新的运行环境,随时可以开一个新副本。

基础包汇总如下:

apt-get install screenapt-get install vimapt-get install python3apt-get install pipapt-get install net-toolsapt-get install iptablesapt-get install isc-dhcp-clientapt-get install iputils-pingapt-get install bind9-utilsapt-get install gitapt-get install nfs-common

其中 ifconfig 工具在 net-tools 包中,ping 在 iputils-ping 包,nslookup 在 bind9-utils 包,showmount 在 nfs_common 中。

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

容器导出命令为:

$ docker export -o ubuntu_net.tar 98bcd091633d

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

$ docker import ubuntu_net.tar ubuntu:net

全文完。

原文始发于微信公众号(生有可恋):docker 支持的四种网络

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年6月13日10:10:26
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   docker 支持的四种网络https://cn-sec.com/archives/4160265.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息