使用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
相关推荐
win x7 小时前
Redis 使用~如何在Java中连接使用redis
java·数据库·redis
handsomestWei9 小时前
Docker引擎API接入配置
运维·http·docker·容器·api
计算机毕设vx_bysj686910 小时前
【免费领源码】77196基于java的手机银行app管理系统的设计与实现 计算机毕业设计项目推荐上万套实战教程JAVA,node.js,C++、python、大屏数据可视化
java·mysql·智能手机·课程设计
吴声子夜歌10 小时前
ES6——正则的扩展详解
前端·mysql·es6
xixingzhe210 小时前
Mysql统计空间增量
数据库·mysql
程序员萌萌10 小时前
Java之mysql实战讲解(三):聚簇索引与非聚簇索引
java·mysql·聚簇索引
程序员萌萌11 小时前
Redis的缓存机制和淘汰策略详解
数据库·redis·缓存机制·淘汰策略
cozil12 小时前
记录mysql创建数据库未指定字符集引发的问题及解决方法
数据库·mysql
AC赳赳老秦12 小时前
OpenClaw数据库高效操作指南:MySQL/PostgreSQL批量处理与数据迁移实战
大数据·数据库·mysql·elasticsearch·postgresql·deepseek·openclaw
ego.iblacat12 小时前
Python 连接 MySQL 数据库
数据库·python·mysql