# 命令执行 docker-compose up -d # 命令执行 docker-compose -f nacos-docker-compose.yml up -d version: '3.9' # 安装开发环境 # 配置中心nacos:http://127.0.0.1:8848/nacos - 【账号:nacos 密码:nacos】 services: # 注册中心 https://github.com/nacos-group/nacos-docker - 其他配置可参考(集群) # http://127.0.0.1:8848/nacos 【账号:nacos 密码:nacos】 nacos: image: nacos/nacos-server:v2.2.3-slim container_name: nacos restart: always ports: - "8848:8848" - "9848:9848" environment: - PREFER_HOST_MODE=hostname - MODE=standalone - SPRING_DATASOURCE_PLATFORM=mysql - MYSQL_SERVICE_HOST=mysql - MYSQL_SERVICE_DB_NAME=nacos_config - MYSQL_SERVICE_PORT=3306 - MYSQL_SERVICE_USER=root - MYSQL_SERVICE_PASSWORD=123456 - MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true - NACOS_AUTH_IDENTITY_KEY=2222 - NACOS_AUTH_IDENTITY_VALUE=2xxx - NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789 networks: - my-network depends_on: mysql: condition: service_healthy # MySQL 增加健康检测,避免 mysql: image: mysql:8.0.32 container_name: mysql command: --default-authentication-plugin=mysql_native_password restart: always environment: TZ: Asia/Shanghai MYSQL_ROOT_PASSWORD: 123456 networks: - my-network ports: - "13306:3306" volumes: - ./mysql/sql:/docker-entrypoint-initdb.d healthcheck: test: [ "CMD", "mysqladmin" ,"ping", "-h", "localhost" ] interval: 5s timeout: 10s retries: 10 start_period: 15s # phpmyadmin https://hub.docker.com/_/phpmyadmin phpmyadmin: image: phpmyadmin:5.2.1 container_name: phpmyadmin hostname: phpmyadmin ports: - 8899:80 environment: - PMA_HOST=mysql - PMA_PORT=3306 - MYSQL_ROOT_PASSWORD=123456 networks: - my-network # Redis redis: image: redis:7.2.0 container_name: redis restart: always hostname: redis privileged: true ports: - 16379:6379 volumes: - ./redis/redis.conf:/usr/local/etc/redis/redis.conf command: redis-server /usr/local/etc/redis/redis.conf networks: - my-network healthcheck: test: [ "CMD", "redis-cli", "ping" ] interval: 10s timeout: 5s retries: 3 # RedisAdmin https://github.com/joeferner/redis-commander redis-admin: image: spryker/redis-commander:0.8.0 container_name: redis-admin hostname: redis-commander restart: always ports: - 8081:8081 environment: - REDIS_HOSTS=local:redis:6379 - HTTP_USER=admin - HTTP_PASSWORD=admin - LANG=C.UTF-8 - LANGUAGE=C.UTF-8 - LC_ALL=C.UTF-8 networks: - my-network depends_on: redis: condition: service_healthy networks: my-network: driver: bridge