现涉及组件
- 服务限流控制器 Sentinel
- 链路监控器 Zipkin
- 注册中心Nacos
docker-compose.yml
touch docker-compose.yml
version: '3'
services:
mysql5.7:
image: mysql:5.7
container_name: mysql57
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: nacos
MYSQL_USER: root
MYSQL_PASSWORD: root
ports:
- 3306:3306
volumes: # 挂载持久化地址(个人理解)
- ./docker/mysql/:/var/lib/mysql/
- ./docker/conf/:/etc/mysql/
environment:
TZ: Asia/Shanghai
network_mode: host
nacos:
image: nacos/nacos-server:1.2.1
container_name: nacos
depends_on:
- mysql5.7
environment:
PREFER_HOST_MODE: hostname #如果支持主机名可以使用hostname,否则使用ip,默认也是ip
SPRING_DATASOURCE_PLATFORM: mysql #数据源平台 仅支持mysql或不保存empty
MODE: standalone
MYSQL_SERVICE_HOST: mysql5.7
MYSQL_SERVICE_DB_NAME: nacos
MYSQL_SERVICE_PORT: 3306
MYSQL_SERVICE_USER: root
MYSQL_SERVICE_PASSWORD: root
NACOS_APPLICATION_PORT: 9999
JVM_XMS: 512m
JVM_MMS: 320m
volumes:
- ./docker/nacos/standalone-logs/:/home/nacos/logs
- ./docker/nacos/plugins/:/home/nacos/plugins
- ./docker/nacos/conf/application.properties:/home/nacos/conf/application.properties
ports:
- "9999:9999"
restart: always
environment:
TZ: Asia/Shanghai
network_mode: host
prometheus:
container_name: prometheus
image: prom/prometheus:latest
volumes:
- ./docker/nacos/prometheus/prometheus-standalone.yaml:/etc/prometheus/prometheus.yml
ports:
- "9090:9090"
depends_on:
- nacos
restart: always
environment:
TZ: Asia/Shanghai
network_mode: host
grafana:
container_name: grafana
image: grafana/grafana:latest
ports:
- 3000:3000
restart: always
environment:
TZ: Asia/Shanghai
network_mode: host
sentinel:
image: bladex/sentinel-dashboard
restart: always
container_name: sentinel
environment:
TZ: Asia/Shanghai
network_mode: host
zipkin:
image: openzipkin/zipkin
restart: always
container_name: zipkin
environment:
TZ: Asia/Shanghai
network_mode: host
postgres:
image: postgres:9.6.15
restart: always
container_name: postgres
ports:
- 5432:5432
volumes:
- /opt/postgres/postgresql/:/var/lib/postgresql
- /opt/postgres/data/:/var/lib/postgresql/data
environment:
TZ: Asia/Shanghai
POSTGRES_USER: sonar
POSTGRES_PASSWORD: sonar123
POSTGRES_DB: sonar
networks:
- sonar-network
sonar:
image: sonarqube:7.9-community
restart: always
container_name: sonar
depends_on:
- postgres
volumes:
- /opt/sonarqube/extensions:/opt/sonarqube/extensions
- /opt/sonarqube/logs:/opt/sonarqube/logs
- /opt/sonarqube/data:/opt/sonarqube/data
- /opt/sonarqube/conf:/opt/sonarqube/conf
ports:
- 9000:9000
environment:
SONARQUBE_JDBC_USERNAME: sonar
SONARQUBE_JDBC_PASSWORD: sonar123
SONARQUBE_JDBC_URL: jdbc:postgresql://postgres:5432/sonar
networks:
- sonar-network
networks:
sonar-network:
driver: bridge
启动命令
doceker-compose up -d