阅读(2437) (10)

CRMEB v4 Docker安装

2022-03-26 18:06:06 更新

docker-compose 下载地址

目录结构

crmeb
docker-compose docker compose 配置文件目录
mysql mysql配置文件目录— nginx nginx配置文件目录
— php php配置文件目录
— redis redis配置文件目录
web 程序目录
docker-compose.yml docker-compose 运行配置文件
READMD.md 使用说明文件
1、docker-compose 配置文件说明
version: “3.3”
services:

mysql 容器

mysql: container_name: crmeb_mysql #指定容器名 image: daocloud.io/library/mysql:5.7.5-m15 #M1芯片可以采用这个镜像

## image: mysql:5.7 #一般电脑可以用这个镜像
ports:
  - 3306:3306
## 环境变量
environment:
  TZ: Asia/Shanghai
  MYSQL_ROOT_PASSWORD: '123456'
  MYSQL_USER: 'crmeb'
  MYSQL_PASS: '123456'
  MYSQL_DATABASE: 'crmeb'
privileged: true
command:
   --character-set-server=utf8mb4
   --collation-server=utf8mb4_general_ci
   --explicit_defaults_for_timestamp=true
   --lower_case_table_names=1
   --max_allowed_packet=128M
   --default-authentication-plugin=mysql_native_password
   --sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
working_dir: /var/lib/mysql
volumes:
  - ./docker-compose/mysql/my.cnf:/etc/mysql/my.cnf
  - ./docker-compose/mysql/data:/var/lib/mysql #挂载数据目录到本地
  - ./docker-compose/mysql/log:/var/log/mysql
networks:
  app_net:
    # 固定子网ip,网段必须在子网络192.168.*.*
    ipv4_address: 192.168.10.1



redis 容器

redis: container_name: crmeb_redis image: ‘redis:alpine’



## image: daocloud.io/library/redis:6.0.5-alpine
## image: redis:5.0
ports:
  - "6379:6379"
command: redis-server /usr/local/etc/redis/redis.conf
volumes:
  # - ./docker-compose/redis/data:/data #挂载数据目录到本地
  - ./docker-compose/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: phpfpm-image #指定镜像名
image: crmeb_php #指定镜像名
build:
  context: ./docker-compose/php #dockerfile文件路径
  dockerfile: Dockerfile #制定dockerfile文件名称
restart: always
environment: 
  TZ: Asia/Shanghai
ports:
  - 9000:9000
  - 20002:20002
  - 20003:20003
tmpfs: /var/temp #上传临时文件夹
working_dir: /var/www
volumes:
  - ./web:/var/www #程序运行目录
  - ./docker-compose/php/php-ini-overrides.ini:/etc/php/7.4/fpm/conf.d/99-overrides.ini
## command: php think workerman start --d
networks:
  app_net:
    ipv4_address: 192.168.10.90

nginx 容器

nginx: container_name: crmeb_nginx image: ‘nginx:alpine’



## image: daocloud.io/library/nginx:1.19.1-alpine
restart: always
ports:
  - 80:80
  # - 443:443
## 依赖关系 先跑php
depends_on:
  - phpfpm
environment: 
  TZ: Asia/Shanghai
working_dir: /var/www
volumes_from:
  - phpfpm #继承phpfpm挂载目录
volumes:
  - ./docker-compose/nginx/vhost.conf:/etc/nginx/conf.d/default.conf
  - ./docker-compose/nginx/log:/etc/nginx/log
networks:
  app_net:
    ipv4_address: 192.168.10.80

networks: #网络配置 app_net: #网络名称 driver: bridge ipam: #网络配置 config:



    - subnet: 192.168.0.0/16 #IP区间
      gateway: 192.168.10.100 

2、运行说明

docker 运行

1、安装docker

docker 官网下载

https://www.docker.com/products/docker-desktop

curl -sSL https://get.daocloud.io/docker | sh

2、安装docker-compose

https://gitee.com/ZhongBangKeJi/CRMEB

3、下载CRMEB程序放到web目录中

建议去下载最新开源代码 http://localhost/

4、启动项目

进入CRMEB目录

docker-compose up -d

或者

make build //创建容器
make run //启动容器
make stop //停止compose 删除容器

5、访问CRMEB 系统

6、安装 CRMEB

Mysql数据库信息:

Host:192.168.10.1
Post:3306
user:root
pwd:123456

Redis信息:

Host:192.168.10.10
Post:6379
db:0
pwd:123456

7、常见问题

端口被占用进入docker-compose.yml 里面修改端口 需要进入 php 容器,启动长连接和队列