前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【赵渝强老师】Docker的Bridge网络模式

【赵渝强老师】Docker的Bridge网络模式

原创
作者头像
赵渝强老师
发布2024-08-13 10:15:11
1030
发布2024-08-13 10:15:11
举报
文章被收录于专栏:容器技术

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

视频内容

  Docker一共提供了4种网络模式:bridge、container、host和none。下表对比了这4种通信模式的特点。

  Bridge网络模式是Docker容器默认的网络模式。利用Bridge模式,可以非常方便地实现容器与容器之间、容器与宿主机之间的网络隔离。并且通过使用宿主机上的docker0网桥,容器可以实现与宿主机乃至外部网络进行相互的网络通信。下图说明了Bridge模式的工作机制。

  下面通过示例演示如何使用bridge模式。

(1)使用busybox镜像创建容器。

代码语言:powershell
复制
docker run -it --network=bridge busybox /bin/sh

提示:这里的--network=bridge可以不写,默认就是bridge模式。 busybox是一个集成了一百多个最常用Linux命令和工具的软件工具箱,如cat、echo等;它也包含了一些更大、更复杂的工具,如grep、find、mount及telnet等。

(2)在容器内部执行命令“ifconfig”查看容器的网络信息,如下图所示。

  在默认情况下,Docker引擎会自动创建一个bridge网络。Docker引擎同时也为用户提供了自定义bridge网络的方式。利用该方式,用户可以自定义bridge的子网地址和网关等参数。

提示:用户自定义bridge网络是在生产环境中推荐到最佳方式。

(1)执行下面的命令自定义bridge网络。

代码语言:powershell
复制
docker network create -d bridge --ip-range=192.168.1.0/24 --gateway=192.168.1.1 --subnet=192.168.1.0/24 bridge2

  其中的参数如下:

  • -d:指定网络模式的类型,默认值是bridge。
  • --ip-range:指定子网分配IP的范围。
  • --gateway:指定网关的IP地址。
  • --subnet:指定子网的IP地址。
  • bridge2:自定义bridge网络的名称。

(2)查看Docker的网络。这时就可以看到新创建的bridge2,如下图所示。

代码语言:powershell
复制
docker network ls

(3)使用bridge2创建一个容器,这里通过参数--ip指定了容器的IP地址。

代码语言:powershell
复制
docker run -it --network=bridge2 --ip=192.168.1.3 busybox 

(4)在容器内执行命令“ifconfig”查看网络信息,如下图所示。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档