version: '3' services: mysql: image: mysql:8.0.27 container_name: mysql environment: # 时区上海 TZ: Asia/Shanghai # root 密码 MYSQL_ROOT_PASSWORD: yun@BAN#! # 初始化数据库(后续的初始化sql会在这个库执行) MYSQL_DATABASE: kxmall ports: - "3306:3306" volumes: # 数据挂载 - /docker/mysql/data/:/var/lib/mysql/ # 配置挂载 - /docker/mysql/conf/:/etc/mysql/conf.d/ command: # 将mysql8.0默认密码策略 修改为 原先 策略 (mysql8.0对其默认策略做了更改 会导致密码无法匹配) --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --explicit_defaults_for_timestamp=true --lower_case_table_names=1 privileged: true restart: always networks: kxmall_net: ipv4_address: 172.30.0.36 nginx-web: image: nginx:1.21.3 container_name: nginx-web environment: # 时区上海 TZ: Asia/Shanghai ports: - "80:80" - "8585:8585" - "443:443" volumes: # 证书映射 - /docker/nginx/cert:/etc/nginx/cert # 配置文件映射 - /docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf # 页面目录 - /docker/nginx/html:/usr/share/nginx/html - /docker/nginx/app:/usr/share/nginx/app - /docker/nginx/rider:/usr/share/nginx/rider # 日志目录 - /docker/nginx/log:/var/log/nginx privileged: true restart: always networks: - kxmall_net redis: image: redis:6.2.6 container_name: redis ports: - "6379:6379" environment: # 时区上海 TZ: Asia/Shanghai volumes: # 配置文件 - /docker/redis/conf:/redis/config:rw # 数据文件 - /docker/redis/data/:/redis/data/:rw command: "redis-server /redis/config/redis.conf" privileged: true restart: always networks: kxmall_net: ipv4_address: 172.30.0.48 kxmall-admin: image: kxmall/kxmall-admin:1.0.0 container_name: kxmall-admin environment: # 时区上海 TZ: Asia/Shanghai volumes: # 配置文件 - /docker/server/logs/:/kxmall/server/logs/ privileged: true restart: always networks: kxmall_net: ipv4_address: 172.30.0.60 networks: kxmall_net: driver: bridge ipam: config: - subnet: 172.30.0.0/16