name: auth-compose # 定义该配置的名称为 auth-dependence services: # 定义服务列表 # 安装MySQL mysql: # 定义 MySQL 服务 container_name: mysql_master # 容器名称为 mysql_master image: mysql:8.0.33 # 使用 MySQL 8.0.33 版本的镜像 ports: - "3306:3306" # 将宿主机的 3306 端口映射到容器的 3306 端口 environment: - MYSQL_ROOT_PASSWORD=123456 # 设置 MySQL 的 root 用户密码为 123456 - TZ=Asia/Shanghai # 设置时区为亚洲/上海 volumes: # - ~/docker/docker_data/mysql/mysql_master/etc/my.cnf:/etc/my.cnf # 如果需要创建配置文件 - ~/docker/docker_data/mysql/mysql_master/etc/mysql:/etc/mysql/conf.d # 挂载 MySQL 配置文件目录 - ~/docker/docker_data/mysql/mysql_master/data:/var/lib/mysql # 挂载 MySQL 数据目录 - ~/docker/docker_data/mysql/mysql_master/backup:/backup # 挂载备份目录 command: - "--log-bin=mysql-bin" # 启用二进制日志 - "--server-id=1" # 设置服务器 ID 为 1 - "--collation-server=utf8mb4_unicode_ci" # 设置默认的排序规则为 utf8mb4_unicode_ci - "--character-set-server=utf8mb4" # 设置默认的字符集为 utf8mb4 - "--lower-case-table-names=1" # 设置表名存储为小写 restart: always # 设置容器总是自动重启 privileged: true # 赋予容器特权模式 networks: - auth # 将 MySQL 服务加入到 auth 网络 # 安装Redis redis: # 定义 Redis 服务 container_name: redis_master # 容器名称为 redis_master image: redis:7.0.10 # 使用 Redis 7.0.10 版本的镜像 ports: - "6379:6379" # 将宿主机的 6379 端口映射到容器的 6379 端口 volumes: # - ~/docker/docker_data/redis_master/redis.conf:/etc/redis/redis.conf # 需要创建配置文件 - ~/docker/docker_data/redis_master:/etc/redis # 挂载 Redis 配置文件目录 - ~/docker/docker_data/redis_master/data:/data # 挂载 Redis 数据目录 command: - "--appendonly yes" # 启用 AOF 持久化 - "--daemonize no" # 不以守护进程方式运行 - "--requirepass 123456" # 设置 Redis 访问密码为 123456 - "--tcp-keepalive 300" # 设置 TCP keepalive 时间为 300 秒 restart: always # 设置容器总是自动重启 networks: - auth # 将 MySQL 服务加入到 auth 网络 # 安装 Minio minio: # 定义 Minio 服务 image: minio/minio # 使用 Minio 官方镜像 container_name: minio_master # 容器名称为 minio_master ports: - "9000:9000" # 将宿主机的 9000 端口映射到容器的 9000 端口 - "9090:9090" # 将宿主机的 9090 端口映射到容器的 9090 端口 volumes: - ~/docker/docker_data/minio/data:/data # 挂载 Minio 数据目录 environment: - MINIO_ROOT_USER=bunny # 设置 Minio 的 root 用户名为 bunny - MINIO_ROOT_PASSWORD=12345678 # 设置 Minio 的 root 用户密码为 123456 command: "server /data --console-address :9090" # 启动 Minio 服务并指定控制台地址 restart: always # 设置容器总是自动重启 networks: - auth # 将 MySQL 服务加入到 auth 网络 networks: # 定义网络 auth: # 定义名为 auth 的网络 name: auth # 网络名称为 auth driver: bridge # 使用 bridge 驱动(默认)