Docker安装crmeb商城教程

2023-04-19 10:48:10 浏览数 (1)

运行说明

1、安装docker

docker 官网下载 https://www.docker.com/products/docker-desktop

代码语言:javascript复制
curl -sSL https://get.daocloud.io/docker | sh

2、安装docker-compose

https://www.runoob.com/docker/docker-compose.html

3、下载CRMEB程序

下载CRMEB程序放到web目录中,建议去下载最新开源代码 https://gitee.com/ZhongBangKeJi/CRMEB

4、启动项目

进入CRMEB目录

代码语言:javascript复制
docker-compose up -d

或者

代码语言:javascript复制
make build //创建容器
make run //启动容器
make stop //停止compose 删除容器

5、安装CRMEB

Mysql数据库信息
代码语言:javascript复制
Host:192.168.10.1
Post:3306
user:root
pwd:123456
Redis信息:
代码语言:javascript复制
Host:192.168.10.10
Post:6379
db:0
pwd:123456

6、访问CRMEB系统

访问CRMEB 系统:http://localhost/

常见问题

端口被占用进入docker-compose.yml 里面修改端口

需要进入php容器,启动长连接和队列

目录结构

下载CRMEB docker-compose包

docker-compose 下载地址链接: https://pan.baidu.com/s/1wtBY35shw7RQKyAyN0vH3w 提取码: tx43,或者开源项目直接下载里面包含 docker-compose 程序

docker-compose目录结构说明
代码语言:javascript复制
crmeb
- docker-compose docker compose 配置文件目录
- - mysql mysql配置文件目录
-- nginx nginx配置文件目录
-- php php配置文件目录
-- redis redis配置文件目录
- web 程序目录
- docker-compose.yml docker-compose 运行配置文件
- READMD.md 使用说明文件

配置文件说明

docker-compose 配置文件说明

代码语言:javascript复制
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

0 人点赞