version: "3.8" services: prometheus: image: prom/prometheus container_name: prometheus volumes: - ./yml/prometheus.yml:/etc/prometheus/prometheus.yml - ./prometheus:/prometheus ports: - "9090:9090" networks: - monitor-net restart: always grafana: image: grafana/grafana container_name: grafana restart: always ports: - "3000:3000" volumes: - ./grafana:/var/lib/grafana - /etc/localtime:/etc/localtime environment: GF_EXPLORE_ENABLED: "true" GF_SECURITY_ADMIN_PASSWORD: "prmonitor@123" GF_DATABASE_URL: "mysql://root:prmonitor@123@mysql832:3306/grafana" GF_VIEWER_LANGUAGE: "zh-Hans" depends_on: - prometheus networks: - monitor-net mysql: image: mysql:8.0.32 container_name: mysql832 hostname: mysql832 ports: - "3310:3306" environment: TZ: Asia/Shanghai LANG: en_US.UTF-8 MYSQL_ROOT_PASSWORD: prmonitor@123 MYSQL_DATABASE: "grafana" command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --lower_case_table_names=1 volumes: - ./mysql/my.cnf:/etc/my.cnf - ./mysql/data:/var/lib/mysql networks: - monitor-net restart: always node-exporter: image: prom/node-exporter container_name: monitor-node restart: always ports: - "9100:9100" networks: - monitor-net networks: monitor-net: driver: bridge