docker-compose.yml 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. version: "3.3"
  2. services:
  3. # mysql 容器
  4. mysql:
  5. container_name: crmeb_mysql #指定容器名
  6. image: daocloud.io/library/mysql:5.7.5-m15 #M1芯片可以采用这个镜像
  7. # image: mysql:5.7 #一般电脑可以用这个镜像
  8. ports:
  9. - 3306:3306
  10. # 环境变量
  11. environment:
  12. TZ: Asia/Shanghai
  13. MYSQL_ROOT_PASSWORD: '123456'
  14. MYSQL_USER: 'crmeb'
  15. MYSQL_PASS: '123456'
  16. MYSQL_DATABASE: 'crmeb'
  17. privileged: true
  18. command:
  19. --character-set-server=utf8mb4
  20. --collation-server=utf8mb4_general_ci
  21. --explicit_defaults_for_timestamp=true
  22. --lower_case_table_names=1
  23. --max_allowed_packet=128M
  24. --default-authentication-plugin=mysql_native_password
  25. --sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
  26. working_dir: /var/lib/mysql
  27. volumes:
  28. - ./mysql/my.cnf:/etc/mysql/my.cnf
  29. - ./mysql/data:/var/lib/mysql #挂载数据目录到本地
  30. - ./mysql/log:/var/log/mysql
  31. networks:
  32. app_net:
  33. # 固定子网ip,网段必须在子网络192.168.*.*
  34. ipv4_address: 192.168.10.1
  35. # redis 容器
  36. redis:
  37. container_name: crmeb_redis
  38. image: 'redis:alpine'
  39. # image: daocloud.io/library/redis:6.0.5-alpine
  40. # image: redis:5.0
  41. ports:
  42. - "6379:6379"
  43. command: redis-server /usr/local/etc/redis/redis.conf
  44. volumes:
  45. # - ./redis/data:/data #挂载数据目录到本地
  46. - ./redis/redis.conf:/usr/local/etc/redis/redis.conf
  47. networks:
  48. app_net:
  49. ipv4_address: 192.168.10.10
  50. # php 容器
  51. phpfpm:
  52. container_name: crmeb_php #指定容器名
  53. # image: phpfpm-image #指定镜像名
  54. image: crmeb_php #指定镜像名
  55. build:
  56. context: ./php #dockerfile文件路径
  57. dockerfile: Dockerfile #制定dockerfile文件名称
  58. restart: always
  59. environment:
  60. TZ: Asia/Shanghai
  61. ports:
  62. - 9000:9000
  63. - 20002:20002
  64. - 20003:20003
  65. tmpfs: /var/temp #上传临时文件夹
  66. working_dir: /var/www
  67. volumes:
  68. - ../crmeb:/var/www #程序运行目录
  69. - ./php/php-ini-overrides.ini:/etc/php/7.4/fpm/conf.d/99-overrides.ini
  70. # command: php think workerman start --d
  71. networks:
  72. app_net:
  73. ipv4_address: 192.168.10.90
  74. # nginx 容器
  75. nginx:
  76. container_name: crmeb_nginx
  77. image: 'nginx:alpine'
  78. # image: daocloud.io/library/nginx:1.19.1-alpine
  79. restart: always
  80. ports:
  81. - 8011:80
  82. # - 443:443
  83. # 依赖关系 先跑php
  84. depends_on:
  85. - phpfpm
  86. environment:
  87. TZ: Asia/Shanghai
  88. working_dir: /var/www
  89. volumes_from:
  90. - phpfpm #继承phpfpm挂载目录
  91. volumes:
  92. - ./nginx/vhost.conf:/etc/nginx/conf.d/default.conf
  93. - ./nginx/log:/etc/nginx/log
  94. networks:
  95. app_net:
  96. ipv4_address: 192.168.10.80
  97. networks: #网络配置
  98. app_net: #网络名称
  99. driver: bridge
  100. ipam: #网络配置
  101. config:
  102. - subnet: 192.168.0.0/16 #IP区间
  103. gateway: 192.168.10.100