Giter Club home page Giter Club logo

docker-compose's Introduction

环境准备

一、前置

依赖

注意:
1、mac版docker.desktop版本推荐3.0以上,以避免内存飙高问题
2、我们假定两个项目为同级目录,如下
mochat-cloud/mochat 下载目录为 /path/to/mochat;
mochat-cloud/docker-compose 下载目录为 /path/to/docker-compose;

二、配置

2.1 docker-compose 配置

  • cd /path/to/docker-compose

  • cp .env.example .env,根据自己的项目,修改相应配置

  • cp docker-compose.sample.yml docker-compose.yml

  • 2.2 vhost配置,推荐使用 SwitchHosts

127.0.0.1 api.mochat.com
127.0.0.1 scrm.mochat.com
127.0.0.1 sidebar.mochat.com
127.0.0.1 op.mochat.com

提示:

1、api.mo.chat为占用域名,请避免使用
2、.dev与.app域名为chrome域名,使用chrome时请避免使用
3、使用非本地容器MySQL时,可以设置MYSQL_CONNECT_TYPE=cloud,并修改CLOUD_MYSQL_*相应属性即可

三、运行

cd /path/to/docker-compose
docker-compose build
docker-compose up

提示:

  • docker-compose up执行时,dashboard、sidebar、operation、mochat_init容器运行完后会自动退出显示
dashboard exited with code 0
sidebar exited with code 0
operation exited with code 0
mochat_init exited with code 0

这属于正常现象,不属于error

  • 运行成功 运行时间根据不同主机配置、网络速度不同,可能会时间过长,请耐心等待
stone@localhost docker-compose % docker-compose ps            
   Name                  Command               State                     Ports                  
------------------------------------------------------------------------------------------------
backend       /bin/sh -c sh -c "composer ...   Up       0.0.0.0:9501->9501/tcp                  
dashboard     /bin/sh -c sh -c "yarn ins ...   Exit 0        
operation     /bin/sh -c sh -c "yarn ins ...   Exit 0                                           
mochat_init   /bin/sh -c sh -c "/tmp/wai ...   Exit 0                                           
mysql         docker-entrypoint.sh mysqld      Up       0.0.0.0:3306->3306/tcp, 33060/tcp       
nginx         /docker-entrypoint.sh ngin ...   Up       0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp
redis         docker-entrypoint.sh redis ...   Up       0.0.0.0:6379->6379/tcp                  
sidebar       /bin/sh -c sh -c "yarn ins ...   Exit 0
  • 如果初始化失败,可重新初始化
cd /path/to/docker-compose
rm ./services/mochat_init/install.lock
docker-compose up mochat_init

3.1 如果热更新

  • 后端PHP热更新,可以 ./servers/php/Dockerfile 内改 php /opt/www/bin/hyperf.php startphp /opt/www/bin/hyperf.php server:watch
  • 前端热更新建议在宿主机 npm run dev,接口调试地址为 http://api.mochat.com

3.2 登陆

  • 在浏览器输入 http://scrm.mochat.com
  • 默认的用户名密码: 18888888888 / 123456
  • 进入项目,在系统设置 -> 授权管理 中点击 添加企业微信号
  • 如果您没有企业微信号,您可以到企业微信官网网站注册调试用的企业微信号

docker-compose's People

Contributors

isettle avatar maxincai avatar wolferhua avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

docker-compose's Issues

ERROR: https://dl.bintray.com/php-alpine/v3.11/php-7.4: remote server returned error (try 'apk update')

fetch http://mirrors.aliyun.com/alpine/v3.11/main/x86_64/APKINDEX.tar.gz
fetch http://mirrors.aliyun.com/alpine/v3.11/community/x86_64/APKINDEX.tar.gz
fetch https://dl.bintray.com/php-alpine/v3.11/php-7.4/x86_64/APKINDEX.tar.gz
ERROR: https://dl.bintray.com/php-alpine/v3.11/php-7.4: remote server returned error (try 'apk update')
WARNING: Ignoring APKINDEX.b8a29139.tar.gz: No such file or directory
v3.11.13-8-gaf7d80ff31 [http://mirrors.aliyun.com/alpine/v3.11/main]
v3.11.11-124-gf2729ece5a [http://mirrors.aliyun.com/alpine/v3.11/community]
1 errors; 11320 distinct packages available

您好,docker-compose 环境中遵循文档3.1如果热更新 ,设置成watch后backend up不起来直接报错

报错如下
Fatal error: Uncaught RuntimeException: The class reflector object does not init yet in /opt/www/vendor/hyperf/di/src/BetterReflectionManager.php:39
backend | Stack trace:
backend | #0 /opt/www/vendor/hyperf/di/src/BetterReflectionManager.php(62): Hyperf\Di\BetterReflectionManager::getClassReflector()
backend | #1 /opt/www/vendor/hyperf/di/src/Aop/PropertyHandlerVisitor.php(90): Hyperf\Di\BetterReflectionManager::reflectClass()
backend | #2 /opt/www/vendor/hyperf/di/src/Aop/PropertyHandlerVisitor.php(64): Hyperf\Di\Aop\PropertyHandlerVisitor->buildConstructor()
backend | #3 /opt/www/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(230): Hyperf\Di\Aop\PropertyHandlerVisitor->leaveNode()
backend | #4 /opt/www/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(114): PhpParser\NodeTraverser->traverseArray()
backend | #5 /opt/www/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(223): PhpParser\NodeTraverser->traverseNode()
backend | #6 /opt/www/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php(91): PhpParser\NodeTraverser->traverseArray()
backend | #7 /opt/www/vendor/hyperf/di/src/Aop/Ast.p in /opt/www/vendor/hyperf/di/src/BetterReflectionManager.php on line 39
backend | Stop server success.

按照视频docker-compose

[ERROR] RedisException: Connection refused in /opt/www/vendor/hyperf/redis/src/RedisConnection.php:261
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.