Mac mini M4 安装 Docker 并运行 Zookeeper、Kafka、Redis
💻 Mac mini M4 安装 Docker 并运行 Zookeeper、Kafka、Redis
你打算在 Mac mini M4 上使用 Docker 运行 Zookeeper、Kafka、Redis 这些中间件,这样既能保持系统的干净整洁,又能随时管理这些服务,操作起来也更灵活。
🛠 1️⃣ 安装 Docker Desktop
Docker Desktop 适用于 macOS,支持 Apple Silicon(M1/M2/M3/M4)。
✅ 安装步骤
- 打开终端(Terminal),使用 Homebrew 安装:
brew install --cask docker - 启动 Docker Desktop:
- 运行
Docker应用(在Launchpad中搜索Docker)。 - 进入 Preferences > Resources,确保
Memory至少分配4G(可根据需求调整)。 - 确保 "Use Rosetta for x86/amd64 emulation on Apple Silicon" 选项未启用(M4 不需要 Rosetta)。
- 允许
Docker CLI运行:sudo ln -s $HOME/.docker/run/docker.sock /var/run/docker.sock
- 运行
🛠 2️⃣ 运行 Zookeeper
Kafka 依赖 Zookeeper,所以要先安装并运行它。
✅ 方式 1:使用 Docker Compose
创建 docker-compose.yml 文件:
version: '3.8'
services:
zookeeper:
image: 'bitnami/zookeeper:latest'
container_name: zookeeper
restart: always
environment:
- ALLOW_ANONYMOUS_LOGIN=yes
ports:
- "2181:2181"
运行:
docker compose up -d
🛠 3️⃣ 运行 Kafka
✅ 方式 1:使用 Docker Compose
继续在 docker-compose.yml 添加 Kafka:
kafka:
image: 'bitnami/kafka:latest'
container_name: kafka
restart: always
depends_on:
- zookeeper
environment:
- KAFKA_BROKER_ID=1
- KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
- KAFKA_LISTENERS=PLAINTEXT://:9092
- KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092
- ALLOW_PLAINTEXT_LISTENER=yes
ports:
- "9092:9092"
运行 Kafka:
docker compose up -d
🛠 4️⃣ 运行 Redis
✅ 方式 1:使用 Docker 运行 Redis
docker run -d --name redis -p 6379:6379 redis:latest
或者,使用 docker-compose.yml:
redis:
image: redis:latest
container_name: redis
restart: always
ports:
- "6379:6379"
运行:
docker compose up -d
🚀 验证
📌 查看所有运行的容器
docker ps
📌 进入 Zookeeper
docker exec -it zookeeper bash
📌 进入 Kafka
docker exec -it kafka bash
📌 进入 Redis
docker exec -it redis redis-cli
🔥 额外优化
📌 配置 Kafka 持久化存储
Kafka 默认数据存储在容器内,建议挂载本地目录:
kafka:
volumes:
- ./kafka-data:/bitnami/kafka
这样重启不会丢失数据。
📌 Redis 配置持久化
如果 Redis 需要持久化:
redis:
volumes:
- ./redis-data:/data
🚀 总结
- 安装 Docker Desktop
- 使用
docker-compose部署 Zookeeper、Kafka、Redis - 使用
docker ps检查运行状态 - 进入容器进行调试
- 优化存储持久化
这样,你的 Mac mini M4 就能稳定运行这些中间件了 🎯 🚀
浙公网安备 33010602011771号