编写一个docker-compose.yml安装redis,prometheus,kafka,grafana,mysql
时间: 2024-10-21 07:17:52 浏览: 5
在Docker Compose中,你可以创建一个`docker-compose.yml`文件来管理多个服务(如Redis、Prometheus、Kafka、Grafana和MySQL)。这是一个基本的示例配置,展示如何分别安装这些服务:
```yaml
version: '3'
services:
# Redis service
redis:
image: redis:latest
restart: always
ports:
- "6379:6379"
# Prometheus service
prometheus:
image: prom/prometheus:v2.34.0
volumes:
- ./prometheus-config:/etc/prometheus/
- prometheus-data:/var/lib/prometheus/
command: [ "--config.file=/etc/prometheus/prometheus.yml", "--storage.tsdb.path=/var/lib/prometheus/" ]
ports:
- "9090:9090"
# Kafka service (using confluentinc/cp-kafka)
kafka:
image: confluentinc/cp-kafka:5.5.0
environment:
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_LISTENERS: PLAINTEXT://kafka:9092,PLAINTEXT_HOST://localhost:9092
ports:
- "9092:9092"
networks:
- my_network
# Grafana service
grafana:
image: grafana/grafana:8.3.2
user: root
ports:
- "3000:3000"
environment:
- GF_SERVER_ROOT_URL=https://grafana
- GF_SECURITY_ADMIN_USER=admin
- GF_SECURITY_ADMIN_PASSWORD=your_admin_password
volumes:
- grafana-data:/var/lib/grafana
depends_on:
- prometheus
# MySQL service
mysql:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: your_mysql_root_password
MYSQL_DATABASE: your_database_name
MYSQL_USER: your_username
MYSQL_PASSWORD: your_user_password
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
networks:
my_network:
driver: bridge
volumes:
prometheus-data:
grafana-data:
mysql_data:
```
阅读全文