使用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
相关推荐
三金1213818 小时前
Redis常见命令
数据库·redis·缓存
春日见18 小时前
端到端自动驾驶技术路线(E2E)
人工智能·机器学习·docker·架构·机器人·自动驾驶·汽车
V1ncent Chen18 小时前
SQL大师之路 15 条件分支
数据库·sql·mysql·数据分析
卤炖阑尾炎19 小时前
MySQL 数据库操作从入门到精通
数据库·mysql
IT界的老黄牛19 小时前
RocketMQ 5.x 集群部署实战:3 台机器搞定 2 主 2 从,Docker Host 模式一把梭
docker·容器·rocketmq
墨着染霜华19 小时前
Java实战:封装Redis非阻塞分布式锁,彻底解决表单重复提交主键冲突
java·redis·分布式
尽兴-19 小时前
超越缓存:Redis Stack 如何将 Redis 打造成全能实时数据平台
数据库·redis·缓存·redis stack
一个有温度的技术博主19 小时前
Redis系列七:Java客户端Jedis的入门
java·数据库·redis
霖霖总总19 小时前
[Redis小技巧21]从 Binlog 到缓存:Canal + Redis 同步架构全解
redis·缓存
傻啦嘿哟19 小时前
Python操作Redis:高效缓存设计与实战
redis·python·缓存