237 lines
6.9 KiB
YAML
237 lines
6.9 KiB
YAML
version: '3'
|
||
|
||
######## 项目依赖的环境,启动项目之前要先启动此环境 #######
|
||
######## The environment that the project depends on, starting this environment before starting the project #######
|
||
|
||
services:
|
||
#jaeger链路追踪 — Jaeger for tracing
|
||
jaeger:
|
||
image: jaegertracing/all-in-one:latest
|
||
container_name: jaeger
|
||
restart: always
|
||
ports:
|
||
- "5775:5775/udp"
|
||
- "6831:6831/udp"
|
||
- "6832:6832/udp"
|
||
- "5778:5778"
|
||
- "16686:16686"
|
||
- "14268:14268"
|
||
- "9411:9411"
|
||
environment:
|
||
- SPAN_STORAGE_TYPE=elasticsearch
|
||
- ES_SERVER_URLS=http://elasticsearch:9200
|
||
- LOG_LEVEL=debug
|
||
networks:
|
||
- looklook_net
|
||
|
||
#prometheus监控 — Prometheus for monitoring
|
||
prometheus:
|
||
image: prom/prometheus:v2.28.1
|
||
container_name: prometheus
|
||
environment:
|
||
# 时区上海 - Time zone Shanghai (Change if needed)
|
||
TZ: Asia/Shanghai
|
||
volumes:
|
||
- ./deploy/prometheus/server/prometheus.yml:/etc/prometheus/prometheus.yml
|
||
- ./data/prometheus/data:/prometheus
|
||
command:
|
||
- '--config.file=/etc/prometheus/prometheus.yml'
|
||
- '--storage.tsdb.path=/prometheus'
|
||
restart: always
|
||
user: root
|
||
ports:
|
||
- 9090:9090
|
||
networks:
|
||
- looklook_net
|
||
|
||
#查看prometheus监控数据 - Grafana to view Prometheus monitoring data
|
||
grafana:
|
||
image: grafana/grafana:8.0.6
|
||
container_name: grafana
|
||
hostname: grafana
|
||
user: root
|
||
environment:
|
||
# 时区上海 - Time zone Shanghai (Change if needed)
|
||
TZ: Asia/Shanghai
|
||
restart: always
|
||
volumes:
|
||
- ./data/grafana/data:/var/lib/grafana
|
||
ports:
|
||
- "3001:3000"
|
||
networks:
|
||
- looklook_net
|
||
|
||
# #搜集kafka业务日志、存储prometheus监控数据 - Kafka for collecting business logs and storing Prometheus monitoring data
|
||
elasticsearch:
|
||
image: docker.elastic.co/elasticsearch/elasticsearch:7.13.4
|
||
container_name: elasticsearch
|
||
user: root
|
||
environment:
|
||
- discovery.type=single-node
|
||
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
|
||
- TZ=Asia/Shanghai
|
||
volumes:
|
||
- ./data/elasticsearch/data:/usr/share/elasticsearch/data
|
||
restart: always
|
||
ports:
|
||
- 9200:9200
|
||
- 9300:9300
|
||
networks:
|
||
- looklook_net
|
||
|
||
#查看elasticsearch数据 - Kibana to view Elasticsearch data
|
||
kibana:
|
||
image: docker.elastic.co/kibana/kibana:7.13.4
|
||
container_name: kibana
|
||
environment:
|
||
- elasticsearch.hosts=http://elasticsearch:9200
|
||
- TZ=Asia/Shanghai
|
||
restart: always
|
||
networks:
|
||
- looklook_net
|
||
ports:
|
||
- "5601:5601"
|
||
depends_on:
|
||
- elasticsearch
|
||
|
||
#消费kafka中filebeat收集的数据输出到es - The data output collected by FileBeat in Kafka is output to ES
|
||
go-stash:
|
||
image: kevinwan/go-stash:1.0 # if you "macOs intel" or "linux amd"
|
||
# image: kevinwan/go-stash:1.0-arm64 # if you "macOs m1" or "linux arm"
|
||
container_name: go-stash
|
||
environment:
|
||
# 时区上海 - Time zone Shanghai (Change if needed)
|
||
TZ: Asia/Shanghai
|
||
user: root
|
||
restart: always
|
||
volumes:
|
||
- ./deploy/go-stash/etc:/app/etc
|
||
networks:
|
||
- looklook_net
|
||
depends_on:
|
||
- elasticsearch
|
||
- kafka
|
||
|
||
#收集业务数据 - Collect business data
|
||
filebeat:
|
||
image: elastic/filebeat:7.13.4
|
||
container_name: filebeat
|
||
environment:
|
||
# 时区上海 - Time zone Shanghai (Change if needed)
|
||
TZ: Asia/Shanghai
|
||
user: root
|
||
restart: always
|
||
entrypoint: "filebeat -e -strict.perms=false" #解决配置文件权限问题 - Solving the configuration file permissions
|
||
volumes:
|
||
- ./deploy/filebeat/conf/filebeat.yml:/usr/share/filebeat/filebeat.yml
|
||
# 此处需指定docker的containers目录,取决于你docker的配置 - The containers directory of docker needs to be specified here, depending on your docker configuration
|
||
# 如snap安装的docker,则为/var/snap/docker/common/var-lib-docker/containers - Example if docker is installed by Snap /var/snap/docker/common/var-lib-docker/containers
|
||
# - /var/snap/docker/common/var-lib-docker/containers:/var/lib/docker/containers
|
||
- /var/lib/docker/containers:/var/lib/docker/containers
|
||
networks:
|
||
- looklook_net
|
||
depends_on:
|
||
- kafka
|
||
|
||
|
||
#zookeeper是kafka的依赖 - Zookeeper is the dependencies of Kafka
|
||
zookeeper:
|
||
image: wurstmeister/zookeeper
|
||
container_name: zookeeper
|
||
environment:
|
||
# 时区上海 - Time zone Shanghai (Change if needed)
|
||
TZ: Asia/Shanghai
|
||
restart: always
|
||
ports:
|
||
- 2181:2181
|
||
networks:
|
||
- looklook_net
|
||
|
||
#消息队列 - Message queue
|
||
kafka:
|
||
image: wurstmeister/kafka
|
||
container_name: kafka
|
||
ports:
|
||
- 9092:9092
|
||
environment:
|
||
- KAFKA_ADVERTISED_HOST_NAME=kafka
|
||
- KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
|
||
- KAFKA_AUTO_CREATE_TOPICS_ENABLE=false
|
||
- TZ=Asia/Shanghai
|
||
restart: always
|
||
volumes:
|
||
- /var/run/docker.sock:/var/run/docker.sock
|
||
networks:
|
||
- looklook_net
|
||
depends_on:
|
||
- zookeeper
|
||
|
||
#asynqmon asynq延迟队列、定时队列的webui - Asynqmon asynq delay queue, timing queue's webUI
|
||
asynqmon:
|
||
image: hibiken/asynqmon:latest
|
||
container_name: asynqmon
|
||
ports:
|
||
- 8980:8080
|
||
command:
|
||
- '--redis-addr=redis:6379'
|
||
- '--redis-password=G62m50oigInC30sf'
|
||
restart: always
|
||
networks:
|
||
- looklook_net
|
||
depends_on:
|
||
- redis
|
||
|
||
mysql:
|
||
image: mysql/mysql-server:8.0.28
|
||
container_name: mysql
|
||
environment:
|
||
# 时区上海 - Time zone Shanghai (Change if needed)
|
||
TZ: Asia/Shanghai
|
||
# root 密码 - root password
|
||
MYSQL_ROOT_PASSWORD: PXDN93VRKUm8TeE7
|
||
ports:
|
||
- 33069:3306
|
||
volumes:
|
||
# 数据挂载 - Data mounting
|
||
- ./data/mysql/data:/var/lib/mysql
|
||
# 日志
|
||
command:
|
||
# 将mysql8.0默认密码策略 修改为 原先 策略 (mysql8.0对其默认策略做了更改 会导致密码无法匹配)
|
||
# Modify the Mysql 8.0 default password strategy to the original strategy (MySQL8.0 to change its default strategy will cause the password to be unable to match)
|
||
--default-authentication-plugin=mysql_native_password
|
||
--character-set-server=utf8mb4
|
||
--collation-server=utf8mb4_general_ci
|
||
--explicit_defaults_for_timestamp=true
|
||
--lower_case_table_names=1
|
||
privileged: true
|
||
restart: always
|
||
networks:
|
||
- looklook_net
|
||
|
||
#redis容器 - Redis container
|
||
redis:
|
||
image: redis:6.2.5
|
||
container_name: redis
|
||
ports:
|
||
- 36379:6379
|
||
environment:
|
||
# 时区上海 - Time zone Shanghai (Change if needed)
|
||
TZ: Asia/Shanghai
|
||
volumes:
|
||
# 数据文件 - data files
|
||
- ./data/redis/data:/data:rw
|
||
command: "redis-server --requirepass G62m50oigInC30sf --appendonly yes"
|
||
privileged: true
|
||
restart: always
|
||
networks:
|
||
- looklook_net
|
||
|
||
|
||
networks:
|
||
looklook_net:
|
||
driver: bridge
|
||
ipam:
|
||
config:
|
||
- subnet: 172.20.0.0/16
|
||
|