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

简介: 本文介绍了Docker容器的网络隔离机制及其四种网络模式:bridge、container、host和none。重点讲解了默认的bridge模式,通过示例演示了如何创建自定义bridge网络并配置容器的网络信息。文中还附有相关图片和视频讲解,帮助读者更好地理解Docker网络的配置和使用方法。

b050.png

   

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

   

视频讲解如下:

   

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


   

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


   

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


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

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网络是在生产环境中推荐到最佳方式。


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

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网络的名称。


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

docker network ls



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

docker run -it --network=bridge2 --ip=192.168.1.3 busybox


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


相关文章
|
4月前
|
JavaScript
Vue中Axios网络请求封装-企业最常用封装模式
本教程介绍如何安装并配置 Axios 实例,包含请求与响应拦截器,实现自动携带 Token、错误提示及登录状态管理,适用于 Vue 项目。
194 1
|
6月前
|
负载均衡 算法 安全
基于Reactor模式的高性能网络库之线程池组件设计篇
EventLoopThreadPool 是 Reactor 模式中实现“一个主线程 + 多个工作线程”的关键组件,用于高效管理多个 EventLoop 并在多核 CPU 上分担高并发 I/O 压力。通过封装 Thread 类和 EventLoopThread,实现线程创建、管理和事件循环的调度,形成线程池结构。每个 EventLoopThread 管理一个子线程与对应的 EventLoop(subloop),主线程(base loop)通过负载均衡算法将任务派发至各 subloop,从而提升系统性能与并发处理能力。
370 3
|
6月前
基于Reactor模式的高性能网络库github地址
https://github.com/zyi30/reactor-net.git
169 0
|
3月前
|
监控 Linux 调度
【赵渝强老师】Docker容器的资源管理机制
本文介绍了Linux CGroup技术及其在Docker资源管理中的应用。通过实例演示了如何利用CGroup限制应用程序的CPU、内存和I/O带宽使用,实现系统资源的精细化控制,帮助理解Docker底层资源限制机制。
388 6
|
5月前
|
Linux 数据安全/隐私保护 虚拟化
【赵渝强老师】Docker的私有镜像仓库:Harbor
Harbor是由VMware开发的企业级Docker镜像仓库管理工具,支持权限管理、LDAP集成、日志审计、镜像复制及中文界面等功能。本文详细介绍了Harbor的安装、配置及在Docker中的实战应用流程,涵盖环境准备、部署步骤、基础操作和镜像上传等内容,适用于容器化应用的镜像管理场景。
530 4
|
4月前
|
安全 测试技术 虚拟化
VMware-三种网络模式原理
本文介绍了虚拟机三种常见网络模式(桥接模式、NAT模式、仅主机模式)的工作原理与适用场景。桥接模式让虚拟机如同独立设备接入局域网;NAT模式共享主机IP,适合大多数WiFi环境;仅主机模式则构建封闭的内部网络,适用于测试环境。内容简明易懂,便于理解不同模式的优缺点与应用场景。
674 0
|
8月前
|
关系型数据库 MySQL 数据库
【赵渝强老师】数据库不适合Docker容器化部署的原因
本文介绍了在Docker中部署MySQL数据库并实现数据持久化的方法,同时分析了数据库不适合容器化的原因。通过具体步骤演示如何拉取镜像、创建持久化目录及启动容器,确保数据安全存储。然而,由于数据安全性、硬件资源争用、网络带宽限制及额外隔离层等问题,数据库服务并不完全适合Docker容器化部署。文中还提到数据库一旦部署通常无需频繁升级,与Docker易于重构和重新部署的特点不符。
465 18
【赵渝强老师】数据库不适合Docker容器化部署的原因
|
7月前
|
Docker 容器
Docker网关冲突导致容器启动网络异常解决方案
当执行`docker-compose up`命令时,服务器网络可能因Docker创建新网桥导致IP段冲突而中断。原因是Docker默认的docker0网卡(172.17.0.1/16)与宿主机网络地址段重叠,引发路由异常。解决方法为修改docker0地址段,通过配置`/etc/docker/daemon.json`调整为非冲突段(如192.168.200.1/24),并重启服务。同时,在`docker-compose.yml`中指定网络模式为`bridge`,最后通过检查docker0地址、网络接口列表及测试容器启动验证修复效果。
1284 39
|
6月前
|
缓存 索引
基于Reactor模式的高性能网络库之缓冲区Buffer组件
Buffer 类用于处理 Socket I/O 缓存,负责数据读取、写入及内存管理。通过预分配空间和索引优化,减少内存拷贝与系统调用,提高网络通信效率,适用于 Reactor 模型中的异步非阻塞 IO 处理。
237 3
|
7月前
|
存储 数据可视化 数据安全/隐私保护
【赵渝强老师】Docker的图形化管理工具
本文介绍了三种主流的Docker图形化管理工具:Docker UI、Portainer和Shipyard。Docker UI(现名UI for Docker)适合初学者,支持容器管理并可显示容器关系图;Portainer轻量级且功能全面,支持单机与集群管理;Shipyard专注于多主机集群管理,提供镜像、容器及节点管理功能,并包含engine和rethinkdb两个核心组件。文中还通过图文结合的方式展示了各工具的安装与使用方法。
584 4
【赵渝强老师】Docker的图形化管理工具