laradock 安装 Laravel 环境

docker 文档
laradock 中文文档

1.根据laradocker文档的介绍,根据不同情况将laradocker 克隆到服务器
一般来说laradocker和项目代码同级,在多个项目的情况下laradocker跟所有代码的上级目录同级。

2.进入laradock文件夹并复制env-example to .env
cp env-example .env
你可以编辑.env文件去选择你想在环境中安装的软件,你始终可以参考docker-compose.yml文件去看如何使用这些变量。
根据主机的操作系统,您可能需要更改给定的值 COMPOSE_FILE的值, 当你在MacOS上运行laradock时要使用的文件分隔符是:, 当你在Windows环境上运行laradock时,必须使用 ;来作为多个文件的分隔符。
(APP_CODE_PATH_HOST:宿主机上的代码目录, APP_CODE_PATH_CONTAINER:docker容器中的代码目录)
(CHANGE_SOURCE:是否使用中国镜像源,UBUNTU_SOURC=aliyun)
(MYSQL_VERSION=latest;MYSQL_DATABASE=default;MYSQL_USER=default;MYSQL_PASSWORD=secret;MYSQL_PORT=3306;MYSQL_ROOT_PASSWORD=root;MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d)
3.运行docker-compose来构建环境
在laradocker目录下面执行docker-compose up -d nginx mysql redis php-worker
注意: 大多数情况下 workspacephp-fpm 会自动运行, 所以不需要再up命令中指定它们, 如果你找不到他们,那么你需要这样指定它们: docker-compose up -d nginx php-fpm mysql workspace
4.进入Workspace容器, 执行比如(Artisan, Composer, PHPUnit, Gulp, …)等命令
docker-compose exec workspace bash
另外, 针对 Windows PowerShell 用户: 执行以下命令以进入任何正在运行的容器:
docker exec -it {workspace-container-id} bash
5.更新您的项目配置以使用数据库主机
项目中的配置文件中的修改:
DB_HOST=mysql;REDIS_HOST=redis

6.配置多个域名,进入laradocker/nginx/sites为访问的不同的域名创建配置文件去指向不同的项目目录
默认情况下laradock包含app.conf.example, laravel.conf.examplesymfony.conf.example 作为工作样本
复制相关配置为*.conf根据需求配置相关配置

7.安装swoole扩展,在laradocker/.env文件中的WORKSPACE_INSTALL_SWOOLE,PHP_FPM_INSTALL_SWOOLE,PHP_WORKER_INSTALL_SWOOLE设置true。在laradocker目录下重新执行,重新构建容器docker-compose build php-fpm workspace php-worker; 再执行docker-compose up -d php-fpm workspace php-worker

8.Laravel队列工作者php-worker
可到laradocker/php-worker/supervisord.d目录下配置相关配置。针对swoole使用,监听端口需要跟宿主机端口映射,可修改laradocker/docker-compose.yml里的php-worker服务配置端口映射

(各个服务的配置文件都在laradocker目录下相对于的服务容器名的目录下)

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 1
QIN秦同学
laradocker 部署环境,pdo 链接数据库失败。
  • 昨天用laradocker 部署环境,安装thinkcmf,发现 pdo 链接数据库报错。
  • 定位到问题是容器安装的各个服务之间是独立分开的,导致 php 的 pdo连不上mysql。
  • 不太懂怎么处理。大佬又遇到过么?

file

3年前 评论
QIN秦同学 (作者) 3年前
panweiheng (楼主) 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!