docker-compose部署kafka es redis mysql mongo 做持久化
时间: 2023-11-11 11:06:54 浏览: 192
docker-compose安装kafka
可以使用 Docker Compose 部署 Kafka、Elasticsearch、Redis、MySQL 和 MongoDB,并实现持久化。以下是一个示例的 Docker Compose 配置文件:
```yaml
version: '3'
services:
zookeeper:
image: confluentinc/cp-zookeeper:6.2.0
container_name: zookeeper
ports:
- 2181:2181
volumes:
- zookeeper-data:/var/lib/zookeeper/data
- zookeeper-logs:/var/lib/zookeeper/logs
kafka:
image: confluentinc/cp-kafka:6.2.0
container_name: kafka
depends_on:
- zookeeper
ports:
- 9092:9092
environment:
- KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
- KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1
volumes:
- kafka-data:/var/lib/kafka/data
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.14.0
container_name: elasticsearch
ports:
- 9200:9200
volumes:
- esdata:/usr/share/elasticsearch/data
environment:
- discovery.type=single-node
redis:
image: redis:6.2.5
container_name: redis
ports:
- 6379:6379
volumes:
- redis-data:/data
mysql:
image: mysql:8.0.26
container_name: mysql
ports:
- 3306:3306
volumes:
- mysql-data:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=your_root_password
mongo:
image: mongo:5.0.2
container_name: mongo
ports:
- 27017:27017
volumes:
- mongo-data:/data/db
volumes:
zookeeper-data:
driver: local
zookeeper-logs:
driver: local
kafka-data:
driver: local
esdata:
driver: local
redis-data:
driver: local
mysql-data:
driver: local
mongo-data:
driver: local
```
这个示例配置文件中包含了 ZooKeeper、Kafka、Elasticsearch、Redis、MySQL 和 MongoDB 的部署配置。通过挂载相应的卷,实现了持久化。
使用以下命令启动所有的服务:
```shell
docker-compose up -d
```
这将启动所有的容器,并将它们分别绑定到主机的相应端口。你可以根据需要修改端口映射。
请注意,这只是一个简单的示例配置文件,你可以根据自己的需求进行修改和扩展。同时,还可以根据需要配置其他 Kafka、Elasticsearch、Redis、MySQL 和 MongoDB 相关的环境变量。
阅读全文