77 lines
2.7 KiB
YAML
77 lines
2.7 KiB
YAML
services:
|
|
# ====================== MySQL 数据库 ======================
|
|
mysql:
|
|
image: mysql:${MYSQL_VERSION:-8.0}
|
|
container_name: urban-lifeline-nacos-mysql
|
|
restart: unless-stopped
|
|
networks:
|
|
- urban-lifeline
|
|
ports:
|
|
- "${MYSQL_EXPOSE_PORT:-3307}:3306"
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-root123456}
|
|
MYSQL_DATABASE: ${NACOS_DB_NAME:-nacos_config}
|
|
MYSQL_USER: ${MYSQL_USER:-nacos}
|
|
MYSQL_PASSWORD: ${MYSQL_PASSWORD:-nacos123456}
|
|
TZ: Asia/Shanghai
|
|
volumes:
|
|
- ${DATA_ROOT:-../volumes}/nacos/mysql:/var/lib/mysql
|
|
- ./init.sql:/docker-entrypoint-initdb.d/init.sql:ro
|
|
command:
|
|
- --character-set-server=utf8mb4
|
|
- --collation-server=utf8mb4_unicode_ci
|
|
- --default-authentication-plugin=mysql_native_password
|
|
healthcheck:
|
|
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p${MYSQL_ROOT_PASSWORD:-root123456}"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 10
|
|
start_period: 30s
|
|
|
|
# ====================== Nacos 注册中心 ======================
|
|
nacos:
|
|
image: nacos/nacos-server:${NACOS_VERSION:-v3.1.0}
|
|
container_name: urban-lifeline-nacos
|
|
restart: unless-stopped
|
|
env_file:
|
|
- .env
|
|
networks:
|
|
- urban-lifeline
|
|
ports:
|
|
- "${NACOS_CONSOLE_PORT:-8081}:8081"
|
|
- "${NACOS_PORT:-8848}:8848"
|
|
- "${NACOS_GRPC_PORT:-9848}:9848"
|
|
- "${NACOS_RAFT_PORT:-9849}:9849"
|
|
environment:
|
|
MODE: ${NACOS_MODE:-standalone}
|
|
SPRING_DATASOURCE_PLATFORM: mysql
|
|
MYSQL_SERVICE_HOST: mysql
|
|
MYSQL_SERVICE_PORT: 3306
|
|
MYSQL_SERVICE_DB_NAME: ${NACOS_DB_NAME:-nacos_config}
|
|
MYSQL_SERVICE_USER: ${MYSQL_USER:-nacos}
|
|
MYSQL_SERVICE_PASSWORD: ${MYSQL_PASSWORD:-nacos123456}
|
|
MYSQL_SERVICE_DB_PARAM: characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true
|
|
JVM_XMS: ${NACOS_JVM_XMS:-512m}
|
|
JVM_XMX: ${NACOS_JVM_XMX:-512m}
|
|
JVM_XMN: ${NACOS_JVM_XMN:-256m}
|
|
NACOS_AUTH_ENABLE: ${NACOS_AUTH_ENABLE:-false}
|
|
NACOS_AUTH_TOKEN: ${NACOS_AUTH_TOKEN:-ZlRkR2ZxR3BvZ1F0a3JxY2V6RUx2cUh1Rkx6V1ZQbE9kUVd1R1VOcWFFS2t3dG5hS0E9PQ==}
|
|
NACOS_AUTH_IDENTITY_KEY: ${NACOS_AUTH_IDENTITY_KEY:-serverIdentity}
|
|
NACOS_AUTH_IDENTITY_VALUE: ${NACOS_AUTH_IDENTITY_VALUE:-security}
|
|
volumes:
|
|
- ${DATA_ROOT:-../volumes}/nacos/data:/home/nacos/data
|
|
- ${DATA_ROOT:-../volumes}/nacos/logs:/home/nacos/logs
|
|
depends_on:
|
|
mysql:
|
|
condition: service_healthy
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8848/nacos/"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 5
|
|
start_period: 60s
|
|
|
|
networks:
|
|
urban-lifeline:
|
|
name: urban-lifeline
|