这一节我们综合之前介绍到的功能和工具,来搭建一个小型分布式集群投票系统,同时实现负载均衡、热备等功能。这个架构我们将会用到 6 台主机,1台Machine主机,3台Apache+PHP提供应用服务,2台HAProxy做负载(你也可以用 LVS 或 Nginx等),另外再为负载做 Keepalived 热备。其 ip 关系如下表: (查看全文)
2017-08-19 22:50

(九)Docker - Swarm

Swarm 比较适用于企业内部集群应用部署、云计算资源扩展。它将一组 Docker 主机作为一个虚拟的Docker主机来管理,将多台 Docker 主机作为一个集群,并在集群级别上以标准 Docker API 的形式提供服务。现在的 Swarm 变化还是比较大的,所以我们有必要单独写一小节。在开始之前我们先来了解一下 Swarm、Swarm mode、Swarmkit 之间的关系,特别要说明的是我们很容易被 Swarm 和 Swarm mode 搞混!所以除了下面列表介绍的特性区别外,他们在使用上也有明显的差别。一般你在网上中看到的$ swarm 或 $ docker-machine --swarm 构建的都是 Docker Swarm,而且它会在你的目标主机上构建一个容器,使用 $ docker ps 可以看到这个容器;另外,使用 docker-machine ls 也可用看到 Swarm 的状态; (查看全文)
虽然你我可能感受不到大数据带来的直观体验,但我们的生活一直都和大数据息息相关。就像地图,从早期最简单的路线规划,到现在的实景、旅游、热度、实时路况,越来越智能,越来越强大。对于“实时路况”,大家都不在陌生,在如今拥挤不堪的马路上,导航已经不光是为了到达目的地,更多时候是为了使用“实时路况”来躲避拥堵/事故路段。 (查看全文)
编配(orchestration),这个概念大概描述了自动配置、协作和管理服务的过程。这里我将会使用到一些社区开发的工具:Compose、Consul、Swarm、Machine。这一节我们对这些工具会分别简单介绍,以及基本的操作与构建!在后面的分布式集群架构实战中,我们会综合这些工具,搭建一个更全面实用的应用场景。 (查看全文)
这一节我们继续探索如何利用 Docker 来运行生产环境的服务。首先构建一个 Jekyll 静态Blog站(可以搭建在github.io上);接着构建一个无聊的 Java Web应用;最后再构建一个支持 Redis 集群的 Node.js 应用。 (查看全文)
这一节主要介绍一款 CI 开源工具 Jenkins 在 Docker 中的应用部署。Jenkins 是一个可扩展的持续集成引擎,主要用于持续、自动构建/测试,以及监控一些定时任务等。这一节我们使用 Jenkins 工具构建一个测试流水线,使用 Docker-in-Docker 方式。先看我们的构建脚本: (查看全文)
这一节我们从最基本的 web 应用开始,分别演示3个不同的场景在 Docker 下的开发和测试。我们先从构建一个最简单的 nginx 服务器开始,先准备几个配置文件: (查看全文)
使用 Docker 的镜像仓库和使用 Git 类似,我们常用的命令有:
$ sudo docker images [IMAGE] # 查看本地可用镜像
$ sudo docker pull ubuntu:16.04 # 拉取指定版本(标签)的镜像
$ sudo docker pull fedora:20 # 如不指定版本,则拉取:latest
$ sudo docker search puppet # 搜索DockerHub上的镜像 (Official是否官方)
通常我们创建一个容器时,会搜索本地是否存在,若不存在会从Docker Hub搜索并 pull (查看全文)
这一节我们创建并使用我们的第一个容器,使用过程中随时可以借助 $docker help 或 $man docker-run 的帮助。 (查看全文)
在正式开始之前,我们先把一些常见问题罗列在这,以保证我们后面的测试都能顺利进行。
使用 Docker 最尴尬的问题就是异国他乡 C. TM. OUT = Client.Timeout. 所以我们在开始一切之前,请先更换 Hub 源。Docker 是有提供国内镜像源的,如果哪天不能用了,阿里云也有Docker源。 (查看全文)