使用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
相关推荐
czlczl200209252 分钟前
松散索引扫描/跳跃索引扫描
数据库·mysql·性能优化
苍煜1 小时前
二叉树、红黑树、B树、B+树通俗教学:各自适配场景+MySQL索引终极选型原因
数据结构·b树·mysql
摇滚侠1 小时前
Docker 如何查询挂载的目录
运维·docker·容器
gQ85v10Db3 小时前
Redis分布式锁进阶第十七篇:微服务分布式锁全局治理 + 跨团队统一规范落地 + 全链路稳定性提升方案
redis·分布式·微服务
【心态好不摆烂】3 小时前
MySQL操作库
数据库·mysql
Javatutouhouduan3 小时前
Java小白如何快速玩转Redis?
java·数据库·redis·分布式锁·java面试·后端开发·java程序员
江湖有缘6 小时前
基于Ubuntu系统Docker部署Note Mark:从安装到配置全流程
linux·ubuntu·docker
zx2859634006 小时前
Laravel5.x版本革新特性全解析
mysql·gateway·智能路由器
倒霉蛋小马7 小时前
【Redis】什么是缓存击穿?
数据库·redis·缓存
呆萌的代Ma7 小时前
docker内的n8n配置Code节点运行python代码
python·docker·容器