bridge网络相当于用软件的方法在宿主机内部虚拟一个交换机,它是一个二层网络设备。在一台宿主机内可以创建多个bridge,连接在同一bridge上的容器可以直接通信,连接在不同bridge上的容器不能直接通信。

不能直接通信不代表不可以通信,实际上连接在不同bridge上的容器,即使bridge分布在不同的节点上,也是可以通信的,但是必需通信三层路由,相当于是通过路由器将多个bridge连接起来。

Docker内置了一个名为bridge的bridge网络,容器默认使用的网络。建议不要使用这个内置网络,如果需要应该自己创建,内置的网络有很多限制,自已创建的网络才有足够的控制权。

用户自定义bridge网络与内置bridge网络的区别

  • 用户自定义bridge网络的隔离性与操作性更好。这一段没看明白,为什么连接到默认bridge网络的容器必需通过-p选项对外暴露端口才能互相访问呢?连接在同一个bridge上,本来就是互通的。
  • 用户自定义bridge网络提供DNS功能,默认bridge不提供。如果使用默认bridge,不同容器之间的互通只能直接使用IP地址或者是Link,而用户自定义网络可以直接使用容器名称。
  • 运行中的容器可以随时离开、加入用户自定义bridge网络,默认bridge网络不行。必需先停止运行容器,再重新创建才能连接到其它网络。
  • 用户自定义bridge网络可以灵活创建、配置。
  • 默认bridge网络共享环境变量。连接在默认bridge网络上的容器可以通过--link标志共享环境变量,用户自定义bridge网络默认不可以,但是有多种解决方案。:
    第一种是将需要共享的变量放在文件中,通过docker volume功能将它绑定到多个容器上。
    第二种是使用docker compose,将需要共享的环境变量放置在compose的.env文件中。
    第三种是使用docker swarm中有关配置的高级功能secrets、configs。

用户自定义bridge网络管理

创建网络:

$ docker network create my-net

在上述命令中可以设置了网网段、网关等,详细查看https://docs.docker.com/engine/reference/commandline/network_create/#specify-advanced-options或者运行:

docker network create --help

删除网络:

$ docker network rm my-net

连接容器到用户自定义bridge网络

命令如下:

$ docker create --name my-nginx \--network my-net \--publish 8080:80 \nginx:latest

my-net是用户自定义bridge网络的名称,8080:80表示将容器的80端口映射到宿主机的8080端口。

运行中的容器加入用户自定义网络:

$ docker network connect my-net my-nginx

容器离开用户自定义网络

如下:

$ docker network disconnect my-net my-nginx

配置默认bridge网络

Docker守护进程有自己的配置文件,名为daemon.json,其中包含默认bridge网络的配置信息,可以修改,如下:

{"bip": "192.168.1.5/24","fixed-cidr": "192.168.1.5/25","fixed-cidr-v6": "2001:db8::/64","mtu": 1500,"default-gateway": "10.20.1.1","default-gateway-v6": "2001:db8:abcd::89","dns": ["10.20.1.2","10.20.1.3"]
}

修改完成以后需要重新启动docker daemon。

Docker网络之bridge网络相关推荐

  1. KVM的NAT网络和bridge网络安装

    KVM的安装使用 安装前准备 NAT网络 第一大步:安装相关包 第二大步:创建磁盘 第三大步:安装配置 第四大步:进入管理端 点左上角1的部分,查看ip 创建bridge网络虚拟机 安装前准备 实验目 ...

  2. Docker 配置网络教程 - overlay 网络

    原文地址 这部分教程是关于 swarm 服务相关的网络.分为四部分,可以在 Linux.Windows 或 Mac 上运行,但对于后面两部分,需要另一个运行在其他地方的 Docker 主机. 如何使用 ...

  3. 学容器必须懂 bridge 网络 - 每天5分钟玩转 Docker 容器技术(32)

    上一节我们讨论了 none 和 host 类型的容器网络,本节学习应用最广泛也是默认的 bridge 网络. Docker 安装时会创建一个 命名为 docker0 的 linux bridge.如果 ...

  4. Docker Network 配置,自定义bridge网络

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...

  5. Docker 官网教程实践 自定义 bridge 网络

    前言 这篇笔记是 docker 官网教程 自定义 bridge 网络的实践. 用户自定义 bridge 网络是在生产环境中推荐到最佳方式,因此这篇教程要特别注意. 这个教程中,启动了2个 alpine ...

  6. Docker学习:容器五种(3+2)网络模式 | bridge模式 | host模式 | none模式 | container 模式 | 自定义网络模式详解

    前言 本讲是从Docker系列讲解课程,单独抽离出来的一个小节,重点介绍容器网络模式, 属于了解范畴,充分了容器的网络模式,更有助于更好的理解Docker的容器之间的访问逻辑. 疑问:为什么要了解容器 ...

  7. Docker 容器技术 — 容器网络

    目录 文章目录 目录 CNM CNM 驱动接口 网络驱动 IPAM 驱动 Docker 原生网络驱动 Bridge 模式(默认) 用户自定义 Bridge 网络 Host 模式 外部访问容器(容器的端 ...

  8. Docker的4种网络模式

    我们在使用docker run创建Docker容器时,可以用--net选项指定容器的网络模式,Docker有以下4种网络模式: host模式,使用--net=host指定. container模式,使 ...

  9. 从零开始学习docker(五)网络的另外两种类型host,none

    撸了今年阿里.头条和美团的面试,我有一个重要发现.......>>> 前面我们已经介绍了bridge network,比较复杂.这一节介绍host和none这两种简单的network ...

最新文章

  1. mysql远程主机强迫关闭了一个现有连接_asp.net连接mysql出现了远程主机强迫关闭了一个现有的连接。!!!...
  2. java web 总结,Java Web 相关概念经典总结(一)
  3. MySQL 空间数据库支持入门学习
  4. 【CSS】自定义checkbox样式
  5. object.assign
  6. JMetro版本11.6.8和8.6.8发布
  7. sql同时操作两列_怎么在两列同时筛选数据库
  8. k8s安装sqlite3_kubernetes环境部署单节点redis数据库的方法
  9. 查找目录下固定文件目录以及路径(自然排序)
  10. 微课系列(7):Python程序中sys.argv的用法
  11. bzoj千题计划164:bzoj5123: 线段树的匹配
  12. 用php实现拍照,php中实现视频拍照
  13. php留言板开发功能,PHP实现基本留言板功能原理与步骤详解
  14. Offer是否具有法律效力
  15. 拼多多的商业模式与产品玩法分析
  16. [渝粤教育] 西北工业大学 理论力学 参考 资料
  17. 把你心中的女神娶回家(一) --有关婚姻的误读暨片头注释(上)
  18. spring-boot-maven-plugin:3.0.0:repackage 报错【解决】
  19. NP-Hard?大白话学习P问题、NP问题、NP完全问题和NP难问题
  20. 前端名词解释(持续更新)

热门文章

  1. AR初体验:使用HP Reveal制作Aura进行presentation
  2. 开源MPEG-4编码器 XviD简介
  3. Atitit 手机号码选号 规范 流程 attilax总结 v4 s81.docx 1. Keyword关键词 2 2. 靓号的定义 2 3. 靓号的重要意义 与解决问题 为什么我们需要靓号
  4. java jdom 更新xml_用JDOM完成Java更新XML文件
  5. 圆通山美食城旅游发展总体规划
  6. 五邑大学计算机学院白明,五邑大学政法学院来访我院
  7. fms5序列号_linux下fms4.5安装及下载地址
  8. 免费注册 Redhat 开发者订阅和激活订阅
  9. 牛客网 小睿睿的方案 解题报告
  10. vue模板插值失效问题