CloudMan6

2017年04月13日注册

没有个人说明

准备 overlay 网络实验环境 – 每天5分钟玩转 Docker 容器技术(49)

 CloudMan6
 2019年07月15日

为支持容器跨主机通信,Docker 提供了 overlay driver,使用户可以创建基于 VxLAN 的 overlay 网络。VxLAN 可将二层数据封装到 UDP 进行传输,VxLAN 提供与 VLAN 相同的以太网二层服务,但是拥有更强的扩展性和灵活性。有关 VxLAN 更详细的内容可参考 CloudMan 在《每天5分钟玩转 OpenStack》中的相关章节。 Docerk overl

准备 overlay 网络实验环境 – 每天5分钟玩转 Docker 容器技术(49)

跨主机网络概述 – 每天5分钟玩转 Docker 容器技术(48)

 CloudMan6
 2019年07月15日
 未分类

前面已经学习了 Docker 的几种网络方案:none、host、bridge 和 joined 容器,它们解决了单个 Docker Host 内容器通信的问题。本章的重点则是讨论跨主机容器间通信的方案。 跨主机网络方案包括: docker 原生的 overlay 和 macvlan。 第三方方案:常用的包括 flannel、weave 和 calico。 docker 网络是一个非常活跃的技术领

跨主机网络概述 – 每天5分钟玩转 Docker 容器技术(48)

管理 Machine – 每天5分钟玩转 Docker 容器技术(47)

 CloudMan6
 2019年07月15日

用 docker-machine 创建 machine 的过程很简洁,非常适合多主机环境。除此之外,Docker Machine 也提供了一些子命令方便对 machine 进行管理。其中最常用的就是无需登录到 machine 就能执行 docker 相关操作。 我们前面学过,要执行远程 docker 命令我们需要通过 -H 指定目标主机的连接字符串,比如: docker -H tcp://192.

管理 Machine – 每天5分钟玩转 Docker 容器技术(47)

Restore Volume 操作 – 每天5分钟玩转 OpenStack(60)

 CloudMan6
 2019年07月2日

前面我们 backup 了 voluem,今天我们将讨论如何 restore volume。本节我们讨论如何 restore volume。 restore 的过程其实很简单,两步走: 在存储节点上创建一个空白 volume。 将 backup 的数据 copy 到空白 voluem 上。 下面我们来看 restore 操作的详细流程: 向 cinder-api 发送 backup 请求 cind

Restore Volume 操作 – 每天5分钟玩转 OpenStack(60)

Backup Volume 操作 – 每天5分钟玩转 OpenStack(59)

 CloudMan6
 2019年07月2日

本节我们讨论 volume 的 Backup 操作。 Backup 是将 volume 备份到别的地方(备份设备),将来可以通过 restore 操作恢复。 Backup VS Snapshot 初看 backup 功能好像与 snapshot 很相似,都可以保存 volume 的当前状态,以备以后恢复。但二者在用途和实现上还是有区别的,具体表现在: Snapshot 依赖于源 volume,不能

Backup Volume 操作 – 每天5分钟玩转 OpenStack(59)

创建 Machine – 每天5分钟玩转 Docker 容器技术(46)

 CloudMan6
 2019年06月21日

对于 Docker Machine 来说,术语 Machine 就是运行 docker daemon 的主机。“创建 Machine” 指的就是在 host 上安装和部署 docker。先执行 docker-machine ls 查看一下当前的 machine: 如我们所料,当前还没有 machine,接下来我们创建第一个 machine: host1 – 192.168.56.104。 创建 m

创建 Machine – 每天5分钟玩转 Docker 容器技术(46)

Snapshot Volume 操作 – 每天5分钟玩转 OpenStack(58)

 CloudMan6
 2019年05月31日

Snapshot 可以为 volume 创建快照,快照中保存了 volume 当前的状态,以后可以通过 snapshot 回溯。snapshot 操作实现比较简单,流程图如下: 向 cinder-api 发送 snapshot 请求 cinder-api 发送消息 cinder-volume 执行 snapshot 操作 下面我们详细讨论每一个步骤。 向 cinder-api 发送 snapsho

Snapshot Volume 操作 – 每天5分钟玩转 OpenStack(58)

Delete Volume 操作 – 每天5分钟玩转 OpenStack(57)

 CloudMan6
 2019年05月31日

今天讨论 cinder 如何删除 volume 。 状态为 Available 的 volume 才能够被 delete。如果 volume 当前已经 attach 到 instance,需要先 detach 后才能 delete。 Delete操作实现比较简单,流程图如下: 向 cinder-api 发送 delete 请求 cinder-api 发送消息 cinder-volume 执行 de

Delete Volume 操作 – 每天5分钟玩转 OpenStack(57)

安装 Docker Machine – 每天5分钟玩转 Docker 容器技术(45)

 CloudMan6
 2019年05月31日

前面我们的实验环境中只有一个 docker host,所有的容器都是运行在这一个 host 上的。但在真正的环境中会有多个 host,容器在这些 host 中启动、运行、停止和销毁,相关容器会通过网络相互通信,无论它们是否位于相同的 host。 对于这样一个 multi-host 环境,我们将如何高效地进行管理呢? 我们面临的第一个问题是:为所有的 host 安装和配置 docker。 在前面我们

安装 Docker Machine – 每天5分钟玩转 Docker 容器技术(45)

volume 生命周期管理 – 每天5分钟玩转 Docker 容器技术(44)

 CloudMan6
 2019年05月31日

Data Volume 中存放的是重要的应用数据,如何管理 volume 对应用至关重要。前面我们主要关注的是 volume 的创建、共享和使用,本节将讨论如何备份、恢复、迁移和销毁 volume。 备份 因为 volume 实际上是 host 文件系统中的目录和文件,所以 volume 的备份实际上是对文件系统的备份。 还记得前面我们是如何搭建本地 Registry 的吗? 所有的本地镜像都存在

volume 生命周期管理 – 每天5分钟玩转 Docker 容器技术(44)

data-packed volume container – 每天5分钟玩转 Docker 容器技术(43)

 CloudMan6
 2019年05月31日

在上一节的例子中 volume container 的数据归根到底还是在 host 里,有没有办法将数据完全放到 volume container 中,同时又能与其他容器共享呢? 当然可以,通常我们称这种容器为 data-packed volume container。其原理是将数据打包到镜像中,然后通过 docker managed volume 共享。 我们用下面的 Dockfile 构建镜像

data-packed volume container – 每天5分钟玩转 Docker 容器技术(43)

如何共享数据?- 每天5分钟玩转 Docker 容器技术(41)

 CloudMan6
 2019年05月9日

数据共享是 volume 的关键特性,本节我们详细讨论通过 volume 如何在容器与 host 之间,容器与容器之间共享数据。 容器与 host 共享数据 我们有两种类型的 data volume,它们均可实现在容器与 host 之间共享数据,但方式有所区别。 对于 bind mount 是非常明确的:直接将要共享的目录 mount 到容器。具体请参考前面 httpd 的例子,不再赘述。 doc

如何共享数据?- 每天5分钟玩转 Docker 容器技术(41)

docker managed volume – 每天5分钟玩转 Docker 容器技术(40)

 CloudMan6
 2019年04月17日

docker managed volume 与 bind mount 在使用上的最大区别是不需要指定 mount 源,指明 mount point 就行了。还是以 httpd 容器为例: 我们通过 -v 告诉 docker 需要一个 data volume,并将其 mount 到 /usr/local/apache2/htdocs。那么这个 data volume 具体在哪儿呢? 这个答案可以在容

docker managed volume – 每天5分钟玩转 Docker 容器技术(40)

Data Volume 之 bind mount – 每天5分钟玩转 Docker 容器技术(39)

 CloudMan6
 2019年04月17日

storage driver 和 data volume 是容器存放数据的两种方式,上一节我们学习了 storage driver,本节开始讨论 Data Volume。 Data Volume 本质上是 Docker Host 文件系统中的目录或文件,能够直接被 mount 到容器的文件系统中。Data Volume 有以下特点: Data Volume 是目录或文件,而非没有格式化的磁盘(块设

Data Volume 之 bind mount – 每天5分钟玩转 Docker 容器技术(39)

Docker 的两类存储资源 – 每天5分钟玩转 Docker 容器技术(38)

 CloudMan6
 2019年04月8日

我们从本章开始讨论 Docker 存储。 Docker 为容器提供了两种存放数据的资源: 由 storage driver 管理的镜像层和容器层。 Data Volume。 我们会详细讨论它们的原理和特性。 storage driver 在前面镜像章节我们学习到 Docker 镜像的分层结构,简单回顾一下。 容器由最上面一个可写的容器层,以及若干只读的镜像层组成,容器的数据就存放在这些层中。这样的

Docker 的两类存储资源 – 每天5分钟玩转 Docker 容器技术(38)

外部世界如何访问容器? – 每天5分钟玩转 Docker 容器技术(37)

 CloudMan6
 2019年04月8日

上节我们学习了容器如何访问外部网络,今天讨论另一个方向:外部网络如何访问到容器? 答案是:端口映射。 docker 可将容器对外提供服务的端口映射到 host 的某个端口,外网通过该端口访问容器。容器启动时通过-p参数映射端口: 容器启动后,可通过 docker ps 或者 docker port 查看到 host 映射的端口。在上面的例子中,httpd 容器的 80 端口被映射到 host 32

外部世界如何访问容器? – 每天5分钟玩转 Docker 容器技术(37)

容器如何访问外部世界?- 每天5分钟玩转 Docker 容器技术(36)

 CloudMan6
 2019年04月8日

前面我们已经解决了容器间通信的问题,接下来讨论容器如何与外部世界通信。这里涉及两个方向: 容器访问外部世界 外部世界访问容器 容器访问外部世界 在我们当前的实验环境下,docker host 是可以访问外网的。 我们看一下容器是否也能访问外网呢? 可见,容器默认就能访问外网。 请注意:这里外网指的是容器网络以外的网络环境,并非特指 internet。 现象很简单,但更重要的:我们应该理解现象下的本

容器如何访问外部世界?- 每天5分钟玩转 Docker 容器技术(36)

容器间通信的三种方式 – 每天5分钟玩转 Docker 容器技术(35)

 CloudMan6
 2019年04月8日

容器之间可通过 IP,Docker DNS Server 或 joined 容器三种方式通信。 IP 通信 从上一节的例子可以得出这样一个结论:两个容器要能通信,必须要有属于同一个网络的网卡。 满足这个条件后,容器就可以通过 IP 交互了。具体做法是在容器创建时通过 –network 指定相应的网络,或者通过 docker network connect 将现有容器加入到指定网络。可参考上一节

容器间通信的三种方式 – 每天5分钟玩转 Docker 容器技术(35)

理解容器之间的连通性 – 每天5分钟玩转 Docker 容器技术(34)

 CloudMan6
 2019年04月4日

通过前面小节的实践,当前 docker host 的网络拓扑结构如下图所示,今天我们将讨论这几个容器之间的连通性。 两个 busybox 容器都挂在 my_net2 上,应该能够互通,我们验证一下: 可见同一网络中的容器、网关之间都是可以通信的。 my_net2 与默认 bridge 网络能通信吗? 从拓扑图可知,两个网络属于不同的网桥,应该不能通信,我们通过实验验证一下,让 busybox 容器

理解容器之间的连通性 – 每天5分钟玩转 Docker 容器技术(34)
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册

扫一扫二维码分享