使用docker-compose安装mysql+redis+nacos

docker-compose:

yaml 复制代码
services:
  mysql:
    image: mysql:8.4.0
    container_name: mysql
    environment:
      # 时区上海
      TZ: Asia/Shanghai
      MYSQL_ROOT_PASSWORD: ${PASSWORD:-123456}
    command:
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --explicit_defaults_for_timestamp=true
      --lower_case_table_names=1
    ports:
      - "3306:3306"
    volumes:
      - ${home:-/home/docker/config}/mysql/data/:/var/lib/mysql/
      - ${home:-/home/docker/config}/mysql/conf/:/etc/mysql/conf.d/
    networks:
      - app-network
    privileged: true
    # 持续重启(手动关闭不重启)
    restart: unless-stopped

  redis:
    image: redis:7.4.7
    container_name: redis
    command: >
      redis-server
      --maxmemory 128mb
      --maxmemory-policy allkeys-lru
      --save 900 1
      --save 300 10
      --save 60 10000
      --notify-keyspace-events Ex
      --rdbcompression yes 
      --appendonly yes
      --appendfilename "appendonly.aof"
      --appendfsync everysec
      --requirepass ${PASSWORD:-123456}
    ports:
      - "6379:6379"
    volumes:
      - ${home:-/home/docker/config}/redis/conf/redis.conf:/etc/redis/redis.conf
      - ${home:-/home/docker/config}/redis/data:/data
    networks:
      - app-network
    restart: unless-stopped

  nacos:
    image: nacos/nacos-server:v3.1.0
    container_name: nacos
    restart: unless-stopped
    environment:
      - MODE=standalone
      - NACOS_AUTH_TOKEN=tGXyHX2bYj1pRtvfs4ul94ds1wK9WNwqU/xC1ie9tQY=
      - NACOS_AUTH_IDENTITY_KEY=nacos.cluster.id
      - NACOS_AUTH_IDENTITY_VALUE=7x9Lm2pQr8sT4vW6yZ1aB3cD5eF7gH9j
      - SPRING_DATASOURCE_PLATFORM=mysql
      - MYSQL_SERVICE_HOST=mysql
      - MYSQL_SERVICE_PORT=3306
      - MYSQL_SERVICE_DB_NAME=nacos
      - MYSQL_SERVICE_USER=root
      - MYSQL_SERVICE_PASSWORD=${PASSWORD:-123456}
      - MYSQL_DATABASE_NUM=1
    ports:
      - "8080:8080"
      - "8848:8848"
      - "9848:9848"
      - "9849:9849"
    volumes:
      # 日志目录 注意集群模式下 日志目录不能一致 需要区分例如 nacos1 nacos2
      - ${home:-/home/docker/config}/nacos/logs/:/home/nacos/logs/
    depends_on:
      - mysql
    networks:
      - app-network
networks:
  app-network:
    driver: bridge

启动命令:

home为挂载路径

bash 复制代码
PASSWORD=123456 home=/Users/admin/java/docker docker-compose up -d
相关推荐
定偶2 小时前
mysql
c语言·数据库·mysql
Gold Steps.2 小时前
MySQL Operator for Kubernetes自动实现整个生命周期
mysql·云原生·kubernetes
Nandeska2 小时前
10、MySQL8.0新增特性
数据库·mysql
GHL2842710902 小时前
Docker Desktop 启动报错“Virtualization support not detected“
c++·docker·容器
天空属于哈夫克33 小时前
企业微信外部群运营升级:API 主动推送消息开发实战
java·数据库·mysql
susu10830189113 小时前
docker启动kafka
docker·容器·kafka
h7ml3 小时前
高并发场景下查券返利机器人的请求合并与缓存预热策略(Redis + Caffeine 实践)
数据库·redis·缓存
什么都不会的Tristan4 小时前
MySQL篇
数据库·mysql
Geoking.4 小时前
Redis 的 RDB 与 AOF:持久化机制全解析
数据库·redis·缓存