version: "3.3" services: # mysql 容器 mysql: container_name: crmeb_mysql_arm #指定容器名 # image: daocloud.io/library/mysql:5.7.5-m15 #M1芯片可以采用这个镜像 #docker pull mysql/mysql-server:latest # image: mysql:8.0.33 image: mysql/mysql-server platform: linux/arm64/v8 restart: always ports: - 3306:3306 # 环境变量 environment: TZ: Asia/Shanghai MYSQL_ROOT_PASSWORD: "root" MYSQL_USER: 'crmeb' MYSQL_PASSWORD: '123456' MYSQL_DATABASE: 'crmeb' # DOCKER_DEFAULT_PLATFORM: 'linux/amd64' # 容器启动时,自动分配一个ip地址 privileged: true # 启动命令 command: --character-set-server=utf8mb4 --sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' # 工作目录 working_dir: /var/lib/mysql # 挂载配置文件 volumes: - ./mysql/my.cnf:/etc/mysql/my.cnf #挂载配置文件到本地 - ./mysql/data:/var/lib/mysql/ #挂载数据目录到本地 - ./mysql/log:/var/log/mysql networks: app_net: # 固定子网ip,网段必须在子网络192.168.*.* ipv4_address: 192.168.10.11 # redis 容器 redis: container_name: crmeb_redis image: 'redis:alpine' ports: - "6379:6379" command: redis-server /usr/local/etc/redis/redis.conf volumes: # - ./redis/data:/data #挂载数据目录到本地 - ./redis/redis.conf:/usr/local/etc/redis/redis.conf networks: app_net: ipv4_address: 192.168.10.10 # php 容器 phpfpm: container_name: crmeb_php #指定容器名 image: crmeb_php #指定镜像名 build: context: ./php #dockerfile文件路径 dockerfile: Dockerfile #制定dockerfile文件名称 restart: always environment: TZ: Asia/Shanghai ports: - 9000:9000 - 50002:50002 - 50003:50003 tmpfs: /var/temp #上传临时文件夹 working_dir: /var/www volumes: - ../../crmeb:/var/www #程序运行目录 - ../../crmeb/runtime:/var/www/temp #程序缓存目录 - ./php/php-ini-overrides.ini:/etc/php/7.4/fpm/conf.d/99-overrides.ini networks: app_net: ipv4_address: 192.168.10.90 # command: /bin/bash -c "php -v" # nginx 容器 nginx: container_name: crmeb_nginx image: 'nginx:alpine' # image: daocloud.io/library/nginx:1.19.1-alpine restart: always ports: - 8011:80 # - 443:443 # 依赖关系 先跑php depends_on: - phpfpm environment: TZ: Asia/Shanghai working_dir: /var/www volumes_from: - phpfpm #继承phpfpm挂载目录 volumes: - ./nginx/vhost.conf:/etc/nginx/conf.d/default.conf - ./nginx/log:/etc/nginx/log networks: app_net: ipv4_address: 192.168.10.80 networks: #网络配置 app_net: #网络名称 driver: bridge ipam: #网络配置 driver: default config: - subnet: 192.168.10.0/24 #IP区间