文档章节

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

CloudMAN
 CloudMAN
发布于 2017/06/23 06:33
字数 469
阅读 123
收藏 2
点赞 0
评论 0

上一节我们讨论了 none 和 host 类型的容器网络,本节学习应用最广泛也是默认的 bridge 网络。

Docker 安装时会创建一个 命名为 docker0 的 linux bridge。如果不指定--network,创建的容器默认都会挂到 docker0 上。

149.png

当前 docker0 上没有任何其他网络设备,我们创建一个容器看看有什么变化。

一个新的网络接口 veth28c57df 被挂到了 docker0 上,veth28c57df就是新创建容器的虚拟网卡。

下面看一下容器的网络配置。

容器有一个网卡 eth0@if34。大家可能会问了,为什么不是veth28c57df 呢?

实际上 eth0@if34 和 veth28c57df 是一对 veth pair。veth pair 是一种成对出现的特殊网络设备,可以把它们想象成由一根虚拟网线连接起来的一对网卡,网卡的一头(eth0@if34)在容器中,另一头(veth28c57df)挂在网桥 docker0 上,其效果就是将 eth0@if34 也挂在了 docker0 上。

我们还看到 eth0@if34 已经配置了 IP 172.17.0.2,为什么是这个网段呢?让我们通过 docker network inspect bridge 看一下 bridge 网络的配置信息:

原来 bridge 网络配置的 subnet 就是 172.17.0.0/16,并且网关是 172.17.0.1。这个网关在哪儿呢?大概你已经猜出来了,就是 docker0。

当前容器网络拓扑结构如图所示:

容器创建时,docker 会自动从 172.17.0.0/16 中分配一个 IP,这里 16 位的掩码保证有足够多的 IP 可以供容器使用。

除了 none, host, bridge 这三个自动创建的网络,用户也可以根据业务需要创建 user-defined 网络,下一节我们将详细讨论。
 

二维码+指纹.png

© 著作权归作者所有

共有 人打赏支持
CloudMAN
粉丝 501
博文 360
码字总数 221704
作品 0
海淀
神奇的 routing mesh - 每天5分钟玩转 Docker 容器技术(100)

接上一节案例,当我们访问任何节点的 8080 端口时,swarm 内部的 load balancer 会将请求转发给 web_server 其中的一个副本。 这就是 routing mesh 的作用。 所以,无论访问哪个节点,即使该...

CloudMan6
2017/12/01
0
0
预告 — 容器平台技术

容器我们已经学了大半年,先回顾一下容器生态系统: 容器生态系统包含三个部分: 容器核心知识,包括架构、镜像、容器、网络和存储。 容器平台技术,包括容器编排引擎、容器管理平台和基于容...

CloudMan6
2017/11/15
0
0
如何用 Graylog 管理日志?- 每天5分钟玩转 Docker 容器技术(93)

上一节已经部署好了 Graylog,现在学习如何用它来管理日志。 首先启动测试容器。 docker run -d --log-driver=gelf --log-opt gelf-address=udp://localhost:12201 --log-opt tag="log-test...

CloudMan6
2017/11/13
0
0
每天5分钟玩转Docker容器技术(一)

写在最前面 《每天5分钟玩转Docker容器技术》是一个有关容器技术的教程,有下面两个特点: 系统讲解当前最流行的容器技术 从容器的整个生态环境到各种具体的技术,从整体到细节逐一讨论。 重...

2017/12/25
0
0
数据收集利器 cAdvisor - 每天5分钟玩转 Docker 容器技术(82)

cAdvisor 是 google 开发的容器监控工具,我们来看看 cAdvisor 有什么能耐。 在 host 中运行 cAdvisor 容器。 docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/s......

CloudMan6
2017/10/18
0
0
环境变量方式使用 Secret - 每天5分钟玩转 Docker 容器技术(158)

通过 Volume 使用 Secret,容器必须从文件读取数据,会稍显麻烦,Kubernetes 还支持通过环境变量使用 Secret。 Pod 配置文件示例如下: 创建 Pod 并读取 Secret。 通过环境变量 和 成功读取到...

cloudman6
04/22
0
0
学习 Kubernetes 的 Why 和 How - 每天5分钟玩转 Docker 容器技术(11

这是一个系统学习 Kubernetes 的教程,有下面两个特点: 系统讲解当前最流行的容器编排引擎 Kubernetes 包括了安装部署、应用管理、网络、存储、监控、日志管理等多各个方面。 重实践并兼顾理...

CloudMan6
01/03
0
0
如何访问 Service?- 每天5分钟玩转 Docker 容器技术(99)

前面我们已经学习了如何部署 service,也验证了 swarm 的 failover 特性。不过截止到现在,有一个重要问题还没有涉及:如何访问 service?这就是本节要讨论的问题。 为了便于分析,我们重新部...

CloudMan6
2017/11/29
0
0
用 k8s 管理机密信息 - 每天5分钟玩转 Docker 容器技术(155)

应用启动过程中可能需要一些敏感信息,比如访问数据库的用户名密码或者秘钥。将这些信息直接保存在容器镜像中显然不妥,Kubernetes 提供的解决方案是 Secret。 Secret 会以密文的方式存储数据...

cloudman6
04/15
0
0
Docker 如何支持多种日志方案?- 每天5分钟玩转 Docker 容器技术(88)

将容器日志发送到 STDOUT 和 STDERR 是 Docker 的默认日志行为。实际上,Docker 提供了多种日志机制帮助用户从运行的容器中提取日志信息。这些机制被称作 logging driver。 Docker 的默认 lo...

CloudMan6
2017/11/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

CentOS “Destination Host Unreachable”问题解决办法

挑战极速安装CentOS时遇到局域网主机不能通信的情况: [root@zjd network-scripts]# ping 8.8.8.8PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.64 bytes from 8.8.8.8: icmp_seq=1 ttl=......

wffger
7分钟前
0
0
CentoOS6.6安装netcat

CentOS下安装netcat 使用zookeeper过程中,需要监控集群状态。在使用四字命令时(echo conf | nc localhost 2181),报出如下错误:-bash: netcat: command not found。 我的系统是CentOS 6....

ghou-靠墙哭
17分钟前
0
0
es6之解构赋值巧用

ES6 允许按照一定模式,从数组、对象等中提取值,对变量进行赋值,这被称为解构赋值。 如何进行解构赋值我这里就不赘述,本篇文章主要是将解构赋值的巧妙使用之处。 1、交互变量的值 常用交互...

秋季长青
23分钟前
0
0
Elasitcsearch High Level Rest Client学习笔记(三)批量api

Bulk Request BulkRequest可以在一起从请求执行批量添加、更新和删除,至少需要添加一个操作 BulkRequest request = new BulkRequest(); //创建BulkRequestrequest.add(new IndexRequest("...

木子SMZ
26分钟前
0
0
mybatis-dynamic sql

OGNL expressions if 判断是否存在值 <select id="findActiveBlogLike" resultType="Blog"> SELECT * FROM BLOG WHERE state = ‘ACTIVE’ <if test="title != null"> AND title like #{tit......

writeademo
33分钟前
0
0
社交系统ThinkSNS+ V1.8.3更新播报

     研发发布版本号:1.8.3   本次版本于2018年7月16日发布   本次发布类型:新增功能、细节调整与优化   社交系统ThinkSNSPlus更新体验:请于官网下载/安装最新版或联系QQ35159...

ThinkSNS账号
37分钟前
0
0
教育思考:选择编程是一场父母和孩子的和解[图]

教育思考:选择编程是一场父母和孩子的和解[图]: 之前有个很热的段子是这样讲的:深夜十点的时候,某小区一女子大声喊叫“什么关系?啊?!到底什么关系?你说!”最后发现原来是一位妈妈陪...

原创小博客
38分钟前
0
0
X64汇编之指令格式解析

最近由于项目组内要做特征码搜索的东西,便于去Hook一些未导出函数,你懂得...于是就闲着学习了一下x86/x64的汇编指令格式。x86的汇编指令格式请参照http://bbs.pediy.com/showthread.php?t...

simpower
40分钟前
0
0
rust 语法概要(只适合不熟悉时快速查阅使用,不适合理解其精髓。未完待续)

注意:本内容只适合快查,不适合理解精髓。精髓请研读 https://kaisery.github.io/trpl-zh-cn/foreword.html 基本数据类型 i8,i16,i32,i64,i128 u8,u16,u32,u64,u128 f32,f64 char bool:true...

捍卫机密
43分钟前
0
0
JS中严格模式和非严格模式

1,使用 严格模式的使用很简单,只有在代码首部加入字符串 "use strict"。必须在首部即首部指其前面没有任何有效js代码除注释,否则无效 2.注意事项 (1)不使用var声明变量严格模式中将不通...

AndyZhouX
44分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部