Docker中的四种网络模式有什么区别?

艺帆风顺 发布于 2025-04-03 128 次阅读


在使用docker run创建容器时,可以使用--net(全称--network)选项指定容器的网络模式,docker一共有4中网络模式:

输入命令查看已有的网络

docker network ls

如下图会看到下面的网络(名称可能会不同) 

 

1:bridge模式,--net=bridge(默认)。

   bridge网卡是dokcer网络的默认设置。安装完docker,系统会自动添加一个供docker使用的网桥bridge,创建一个新的容器时,容器通过DHCP获取一个与bridge同网段的IP地址。并默认连接到bridge网桥,以此实现容器与宿主机的网络互通。

需要注意的:bridge相当于虚拟网卡,而真正的主机网卡是host。相当于安装VMware后产生的VMnet8

2:host模式,--net=host。

    host模式下创建出来的容器,将不拥有自己独立的Network Namespace,即没有独立的网络环境。它使用宿主机的ip和端口。

3:container模式,--net=container:NAME_or_ID。

     container模式就是指定一个已有的容器,共享该容器的IP和端口。除了网络方面两个容器共享,其他的如文件系统,进程等还是隔离开的。

4:none模式,--net=none。

      none模式下,dokcer不为容器进行任何网络配置。需要我们自己为容器添加网卡,配置IP。
    因此,若想使用pipework配置docker容器的ip地址,必须要在none模式下才可以。

    版权声明:本文内容来自CSDN:诗水人间,遵循CC 4.0 BY-SA版权协议上原文接及本声明。本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行可。原文链接:https://blog.csdn.net/qq_41813208/article/details/105571576如有涉及到侵权,请联系,将立即予以删除处理。在此特别鸣谢原作者的创作。此篇文章的所有版权归原作者所有,与本公众号无关,商业转载建议请联系原作者,非商业转载请注明出处。