Update figure location

pull/169/merge
Baohua Yang 2017-05-24 11:37:58 +08:00
parent 18a91f783e
commit bd34ba8077
40 changed files with 21 additions and 21 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

View File

@ -7,6 +7,6 @@
当创建一个 Docker 容器的时候,同时会创建了一对 `veth pair` 接口(当数据包发送到一个接口时,另外一个接口也可以收到相同的数据包)。这对接口一端在容器内,即 `eth0`;另一端在本地并被挂载到 `docker0` 网桥,名称以 `veth` 开头(例如 `vethAQI2QT`。通过这种方式主机可以跟容器通信容器之间也可以相互通信。Docker 就创建了在主机和所有容器之间一个虚拟共享网络。 当创建一个 Docker 容器的时候,同时会创建了一对 `veth pair` 接口(当数据包发送到一个接口时,另外一个接口也可以收到相同的数据包)。这对接口一端在容器内,即 `eth0`;另一端在本地并被挂载到 `docker0` 网桥,名称以 `veth` 开头(例如 `vethAQI2QT`。通过这种方式主机可以跟容器通信容器之间也可以相互通信。Docker 就创建了在主机和所有容器之间一个虚拟共享网络。
![Docker 网络](../_images/network.png) ![Docker 网络](_images/network.png)
接下来的部分将介绍在一些场景中Docker 所有的网络定制配置。以及通过 Linux 命令来调整、补充、甚至替换 Docker 默认的网络配置。 接下来的部分将介绍在一些场景中Docker 所有的网络定制配置。以及通过 Linux 命令来调整、补充、甚至替换 Docker 默认的网络配置。

View File

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 48 KiB

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -1,6 +1,6 @@
## Compose 简介 ## Compose 简介
![Docker Compose 项目](../_images/docker_compose.jpg) ![Docker Compose 项目](_images/docker_compose.jpg)
Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。从功能上看,跟 OpenStack 中的 Heat 十分类似。 Compose 项目是 Docker 官方的开源项目,负责实现对 Docker 容器集群的快速编排。从功能上看,跟 OpenStack 中的 Heat 十分类似。

View File

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@ -1,6 +1,6 @@
## 什么是 etcd ## 什么是 etcd
![](../_images/etcd_logo.png) ![](_images/etcd_logo.png)
etcd 是 CoreOS 团队于 2013 年 6 月发起的开源项目它的目标是构建一个高可用的分布式键值key-value数据库基于 Go 语言实现。我们知道在分布式系统中各种服务的配置信息的管理分享服务的发现是一个很基本同时也是很重要的问题。CoreOS 项目就希望基于 etcd 来解决这一问题。 etcd 是 CoreOS 团队于 2013 年 6 月发起的开源项目它的目标是构建一个高可用的分布式键值key-value数据库基于 Go 语言实现。我们知道在分布式系统中各种服务的配置信息的管理分享服务的发现是一个很基本同时也是很重要的问题。CoreOS 项目就希望基于 etcd 来解决这一问题。

View File

Before

Width:  |  Height:  |  Size: 77 KiB

After

Width:  |  Height:  |  Size: 77 KiB

View File

@ -16,7 +16,7 @@ docker run --name webserver -d -p 80:80 nginx
直接用浏览器访问的话,我们会看到默认的 Nginx 欢迎页面。 直接用浏览器访问的话,我们会看到默认的 Nginx 欢迎页面。
<img src="../_images/install-mac-example-nginx.png" width="80%" > <img src="_images/install-mac-example-nginx.png" width="80%" >
现在,假设我们非常不喜欢这个欢迎页面,我们希望改成欢迎 Docker 的文字,我们可以使用 `docker exec` 命令进入容器,修改其内容。 现在,假设我们非常不喜欢这个欢迎页面,我们希望改成欢迎 Docker 的文字,我们可以使用 `docker exec` 命令进入容器,修改其内容。
@ -33,7 +33,7 @@ exit
现在我们再刷新浏览器的话,会发现内容被改变了。 现在我们再刷新浏览器的话,会发现内容被改变了。
<img src="../_images/images-create-nginx-docker.png" width="80%" > <img src="_images/images-create-nginx-docker.png" width="80%" >
我们修改了容器的文件,也就是改动了容器的存储层。我们可以通过 `docker diff` 命令看到具体的改动。 我们修改了容器的文件,也就是改动了容器的存储层。我们可以通过 `docker diff` 命令看到具体的改动。

View File

Before

Width:  |  Height:  |  Size: 660 KiB

After

Width:  |  Height:  |  Size: 660 KiB

View File

Before

Width:  |  Height:  |  Size: 291 KiB

After

Width:  |  Height:  |  Size: 291 KiB

View File

Before

Width:  |  Height:  |  Size: 101 KiB

After

Width:  |  Height:  |  Size: 101 KiB

View File

Before

Width:  |  Height:  |  Size: 88 KiB

After

Width:  |  Height:  |  Size: 88 KiB

View File

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

Before

Width:  |  Height:  |  Size: 146 KiB

After

Width:  |  Height:  |  Size: 146 KiB

View File

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 59 KiB

View File

@ -20,29 +20,29 @@ brew cask install docker
如同 macOS 其它软件一样,安装也非常简单,双击下载的 `.dmg` 文件,然后将那只叫 [Moby](https://blog.docker.com/2013/10/call-me-moby-dock/) 的鲸鱼图标拖拽到 `Application` 文件夹即可(其间可能会询问系统密码)。 如同 macOS 其它软件一样,安装也非常简单,双击下载的 `.dmg` 文件,然后将那只叫 [Moby](https://blog.docker.com/2013/10/call-me-moby-dock/) 的鲸鱼图标拖拽到 `Application` 文件夹即可(其间可能会询问系统密码)。
<img src="../_images/install-mac-dmg.png" width="80%" > <img src="_images/install-mac-dmg.png" width="80%" >
### 运行 ### 运行
从应用中找到 Docker 图标并点击运行。 从应用中找到 Docker 图标并点击运行。
<img src="../_images/install-mac-apps.png" width="80%" > <img src="_images/install-mac-apps.png" width="80%" >
运行之后,会在右上角菜单栏看到多了一个鲸鱼图标,这个图标表明了 Docker 的运行状态。 运行之后,会在右上角菜单栏看到多了一个鲸鱼图标,这个图标表明了 Docker 的运行状态。
<img src="../_images/install-mac-menubar.png" width="60%"> <img src="_images/install-mac-menubar.png" width="60%">
第一次点击图标,可能会看到这个安装成功的界面,点击 "Got it!" 可以关闭这个窗口。 第一次点击图标,可能会看到这个安装成功的界面,点击 "Got it!" 可以关闭这个窗口。
<img src="../_images/install-mac-success.png" width="40%"> <img src="_images/install-mac-success.png" width="40%">
以后每次点击鲸鱼图标会弹出操作菜单。 以后每次点击鲸鱼图标会弹出操作菜单。
<img src="../_images/install-mac-menu.png" width="40%"> <img src="_images/install-mac-menu.png" width="40%">
*在国内使用 Docker 的话,需要配置加速器,在菜单中点击 `Preferences...`,然后查看 `Advanced` 标签,在其中的 `Registry mirrors` 部分里可以点击加号来添加加速器地址。* *在国内使用 Docker 的话,需要配置加速器,在菜单中点击 `Preferences...`,然后查看 `Advanced` 标签,在其中的 `Registry mirrors` 部分里可以点击加号来添加加速器地址。*
<img src="../_images/install-mac-preference-advanced.png" width="60%"> <img src="_images/install-mac-preference-advanced.png" width="60%">
启动终端后,通过命令可以检查安装后的 Docker 版本。 启动终端后,通过命令可以检查安装后的 Docker 版本。
@ -63,7 +63,7 @@ $ docker run -d -p 80:80 --name webserver nginx
服务运行后,可以访问 <http://localhost>,如果看到了 "Welcome to nginx!",就说明 Docker for Mac 安装成功了。 服务运行后,可以访问 <http://localhost>,如果看到了 "Welcome to nginx!",就说明 Docker for Mac 安装成功了。
<img src="../_images/install-mac-example-nginx.png" width="80%"> <img src="_images/install-mac-example-nginx.png" width="80%">
要停止 Nginx 服务器并删除执行下面的命令: 要停止 Nginx 服务器并删除执行下面的命令:

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -10,6 +10,6 @@ Docker 在容器的基础上,进行了进一步的封装,从文件系统、
下面的图片比较了 Docker 和传统虚拟化方式的不同之处。传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。 下面的图片比较了 Docker 和传统虚拟化方式的不同之处。传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。
![传统虚拟化](../_images/virtualization.png) ![传统虚拟化](_images/virtualization.png)
![Docker](../_images/docker.png) ![Docker](_images/docker.png)

View File

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

View File

Before

Width:  |  Height:  |  Size: 217 KiB

After

Width:  |  Height:  |  Size: 217 KiB

View File

Before

Width:  |  Height:  |  Size: 67 KiB

After

Width:  |  Height:  |  Size: 67 KiB

View File

Before

Width:  |  Height:  |  Size: 153 KiB

After

Width:  |  Height:  |  Size: 153 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 41 KiB

View File

@ -1,6 +1,6 @@
# 基本概念 # 基本概念
![](../_images/kubernetes_design.jpg) ![](_images/kubernetes_design.jpg)
* 节点Node一个节点是一个运行 Kubernetes 中的主机。 * 节点Node一个节点是一个运行 Kubernetes 中的主机。
* 容器组Pod一个 Pod 对应于由若干容器组成的一个容器组,同个组内的容器共享一个存储卷(volume)。 * 容器组Pod一个 Pod 对应于由若干容器组成的一个容器组,同个组内的容器共享一个存储卷(volume)。

View File

@ -13,7 +13,7 @@
下面这张图完整展示了 Kubernetes 的运行原理。 下面这张图完整展示了 Kubernetes 的运行原理。
![Kubernetes 架构](../_images/k8s_architecture.png) ![Kubernetes 架构](_images/k8s_architecture.png)
可见Kubernetes 首先是一套分布式系统,由多个节点组成,节点分为两类:一类是属于管理平面的主节点/控制节点Master Node一类是属于运行平面的工作节点Worker Node 可见Kubernetes 首先是一套分布式系统,由多个节点组成,节点分为两类:一类是属于管理平面的主节点/控制节点Master Node一类是属于运行平面的工作节点Worker Node
@ -39,4 +39,4 @@
* kubelet 是工作节点执行操作的 agent负责具体的容器生命周期管理根据从数据库中获取的信息来管理容器并上报 pod 运行状态等; * kubelet 是工作节点执行操作的 agent负责具体的容器生命周期管理根据从数据库中获取的信息来管理容器并上报 pod 运行状态等;
* kube-proxy 是一个简单的网络访问代理,同时也是一个 Load Balancer。它负责将访问到某个服务的请求具体分配给工作节点上的 Pod同一类标签 * kube-proxy 是一个简单的网络访问代理,同时也是一个 Load Balancer。它负责将访问到某个服务的请求具体分配给工作节点上的 Pod同一类标签
![Proxy 代理对服务的请求](../_images/kube-proxy.png) ![Proxy 代理对服务的请求](_images/kube-proxy.png)

View File

@ -1,6 +1,6 @@
# 项目简介 # 项目简介
![](../_images/kubernetes_logo.png) ![](_images/kubernetes_logo.png)
Kubernetes 是 Google 团队发起的开源项目它的目标是管理跨多个主机的容器提供基本的部署维护以及运用伸缩主要实现语言为Go语言。Kubernetes是 Kubernetes 是 Google 团队发起的开源项目它的目标是管理跨多个主机的容器提供基本的部署维护以及运用伸缩主要实现语言为Go语言。Kubernetes是
* 易学:轻量级,简单,容易理解 * 易学:轻量级,简单,容易理解

View File

@ -4,7 +4,7 @@
下图展示了在单节点使用 Docker 快速部署一套 Kubernetes 的拓扑。 下图展示了在单节点使用 Docker 快速部署一套 Kubernetes 的拓扑。
![在 Docker 中启动 Kubernetes](../_images/k8s-singlenode-docker.png) ![在 Docker 中启动 Kubernetes](_images/k8s-singlenode-docker.png)
Kubernetes 依赖 Etcd 服务来维护所有主节点的状态。 Kubernetes 依赖 Etcd 服务来维护所有主节点的状态。

View File

Before

Width:  |  Height:  |  Size: 116 KiB

After

Width:  |  Height:  |  Size: 116 KiB

View File

@ -1,6 +1,6 @@
## 简介 ## 简介
![Docker Machine](../_images/docker_machine.png) ![Docker Machine](_images/docker_machine.png)
Docker Machine 项目基于 Go 语言实现,目前在 [Github](https://github.com/docker/machine) 上进行维护。 Docker Machine 项目基于 Go 语言实现,目前在 [Github](https://github.com/docker/machine) 上进行维护。

View File

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View File

@ -3,7 +3,7 @@ Docker 采用了 C/S架构包括客户端和服务端。
Docker daemon 作为服务端接受来自客户的请求,并处理这些请求(创建、运行、分发容器)。 Docker daemon 作为服务端接受来自客户的请求,并处理这些请求(创建、运行、分发容器)。
客户端和服务端既可以运行在一个机器上,也可通过 socket 或者 RESTful API 来进行通信。 客户端和服务端既可以运行在一个机器上,也可通过 socket 或者 RESTful API 来进行通信。
![Docker 基本架构](../_images/docker_arch.png) ![Docker 基本架构](_images/docker_arch.png)
Docker daemon 一般在宿主主机后台运行,等待接收来自客户端的消息。 Docker daemon 一般在宿主主机后台运行,等待接收来自客户端的消息。