简介
本文基于MAC OS安装docker并使用docker-compose启动集群,docker-compose.yml通用,仅用于本地学习记录,不能直接用于生产环境。
目的
- 搭建Redis集群
- 搭建mysql集群
- 搭建kafka集群
- 搭建zookeeper集群
- 搭建nginx集群
环境
- 环境:macOS 10.14.5
- docker 版本:Docker Desktop Engine 18.09.2
- docker-compose 版本:1.23.2
安装
可以从官网直接下载安装,可以选择需要的版本,我们选择下载Mac版本。Docker Desktop for Mac 注:Mac 安装很简单,这里不做介绍。
安装启动完成后可以看到这么图标以及菜单:
因为docker的镜像服务器在国外,访问会比较慢,我们还需要配置镜像加速,点击Preferences --> Daemon,在Registry mirrors 下面添加镜像加速地址,可以全部填上:
http://hub-mirror.c.163.com
https://registry.docker-cn.com
https://docker.mirrors.ustc.edu.cn
修改完成之后需要重启docker才会生效,在命令行使用docker info 命令可以看到Registry Mirrors是否生效。
简单redis集群
这里我们直接上docker-compose文件
version: "3.7"
services:
redis-master:
image: redis:latest
ports:
- 6379:6379
restart: always
hostname: master
redis-slave-1:
image: redis:latest
ports:
- 6380:6379
restart: always
hostname: slave-1
command: redis-server --slaveof redis-master 6379
redis-slave-2:
image: redis:latest
ports:
- 6381:6379
restart: always
hostname: slave-2
command: redis-server --slaveof redis-master 6379
需要注意的是,这里使用的docker-compose版本是3.7,对应的docker版本列表可以在官网看到。传送门
对于文件里面字段不明白的,可以去官网查看文件编写规范,建议在编写docker-compose文件的时候使用一些辅助工具(如:Sublime),编写完成之后使用docker-compose config 命令验证一下编写的文件是否规范。
以下为相关截图:
zookeeper集群
docker-compose.yml
version: "3.7"
services:
zoo1:
image: zookeeper:3.4
restart: always
hostname: zoo1
ports:
- 2181:2181
environment:
ZOO_MY_ID: 1
ZOO_SERVERS: server.1=0.0.0.0:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888
zoo2:
image: zookeeper:3.4
restart: always
hostname: zoo2
ports:
- 2182:2181
environment:
ZOO_MY_ID: 2
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=0.0.0.0:2888:3888 server.3=zoo3:2888:3888
zoo3:
image: zookeeper:3.4
restart: always
hostname: zoo3
ports:
- 2183:2181
environment:
ZOO_MY_ID: 3
ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=0.0.0.0:2888:3888
未完待续~~~~
注:本人为初学者,对于很多docker方面的知识都不懂,不喜请喷。