使用docker的集群搭建

本文基于MAC OS安装docker并使用docker-compose启动集群,仅用于本地学习。介绍了搭建Redis、mysql、kafka、zookeeper、nginx集群的目的,给出了环境信息,说明了安装方法及镜像加速配置,还展示了简单redis集群和zookeeper集群的docker-compose文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

本文基于MAC OS安装docker并使用docker-compose启动集群,docker-compose.yml通用,仅用于本地学习记录,不能直接用于生产环境。

目的

  • 搭建Redis集群
  • 搭建mysql集群
  • 搭建kafka集群
  • 搭建zookeeper集群
  • 搭建nginx集群

环境

  1. 环境:macOS 10.14.5
  2. docker 版本:Docker Desktop Engine 18.09.2
  3. 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方面的知识都不懂,不喜请喷。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值