基于 Docker 环境及 Calico 网络的 Consul + Consul Template + Registrator + nginx 容器服务注册和发现

前言

由于公司的基础环境为 Docker,有项目需要做 ZooKeeper 或者 Spring Cloud 的服务注册,服务注册的 IP 及端口均为 Docker 内部提供,所以需要搭建 Calico 网路来实现宿主机访问。
另测试环境的服务均为 IP + 端口的方式访问,一旦更换宿主机则导致无法调用的情况,所以需要配置域名来访问,而测试环境发布频繁,所以需要服务能自动注册及发现来生成域名。

Calico 搭建配置

介绍

抢庄牛牛Calico 是一个纯三层的协议,为 OpenStack 虚机和 Docker 容器提供多主机间通信。Calico 不使用重叠网络比如 flannel 和 libnetwork 重叠网络驱动,

Docker 1.12 配置 direct-lvm

一、概念

Device Mapper

Docker 最先是跑在 Ubuntu 和 Debian 上的,使用 aufs 存储器。由于 Docker 越来越流行,许多公司希望在 RHEL 上使用,但是上游内核中没有包括 aufs,所以 RHEL 不能使用 aufs。最终开发者们开发了一个新的后端存储引擎 Device Mapper,基于已有的 Device Mapper 技术,并且使 Docker 支持可插拔,现在全世界有很多真实案例在生产环境使用 Device Mapper。