头图

  由于Docker的容器彼此之间是逻辑隔离的,所以,在安装Docker时会为在容器创建隔离的网络环境。在该隔离的网络模式环境下,运行在宿主机上的各个容器具有完全独立的网络栈,并且Docker容器的网络环境与宿主机相互隔离。通过配置使用Docker的不同网络模式,可以使容器共享宿主机的网络命名空间,也可以实现容器间的相互访问。视频讲解如下:
https://www.bilibili.com/video/BV1uT421i7Ei/?aid=1705506008&c...

  Docker一共提供了4种网络模式:bridge、container、host和none。下表对比了这4种通信模式的特点。
在这里插入图片描述
  在none模式下的容器具有独立的网络命名空间,但不包含任何网络配置,只能通过Local Loopback网卡进行通信。即容器只能使用localhost或者127.0.0.1。none模式具有最少的网络模式,需要手动进行网络的配置,例如使用pipwork指定容器的IP地址等。
  下面使用none模式来创建一个容器。

docker run -it --network=none busybox /bin/sh

  由于none模式不包含任何的网络配置,在其网络配置信息中就只包含127.0.0.1的地址,如下图所示。
在这里插入图片描述
  由于None网络模式是一种特殊的网络配置,它会禁用容器的网络功能。使用这种网络模式的容器不会与任何其他容器或外部网络互联,也不会获得自己的IP地址。None网络模式的应用场景通常包括:

  • 当不希望容器接收任何网络流量时,可以使用None网络模式。
  • 当想要在容器内运行某些特殊的服务,这些服务不需要网络连接,例如某些后台任务或守护进程。

赵渝强老师
30 声望10 粉丝

20年以上的IT行业从业经历,清华大学计算机软件工程专业毕业,京东大学大数据学院院长,Oracle中国有限公司高级技术顾问;曾在BEA、甲骨文、摩托罗拉等世界500强公司担任高级软件架构师或咨询顾问等要职,精通大...