Laradock 快速搭建PHP开发环境
可能你并不清楚
Docker是什么,更不了解Laradock是什么,送上语句自己特别喜欢的一句话Use Docker First And Learn About It Later大概意思就是先去使用它,然后再去学习它,
要求
附带一个安装参考教程腾讯云课堂地址,
安装
选择最适合您需要的设置。
A) 单个项目的设置
(如果您希望每个项目都有单独的Docker环境,请按照以下步骤操作)
A.1) 已经有一个 PHP 项目:
1 - 在项目根目录中克隆laradock:
```git submodule add https://github.com/Laradock/laradock.git
```
注意:如果您尚未将 Git 用于项目,则可以使用git clone而不是git submodule。
为了跟踪您的Laradock更改,您的项目之间,并保持Laradock更新检查这些文档
您的文件夹结构应如下所示:
+ project-a
+ laradock-a
+ project-b
+ laradock-b
(如果要为每个项目运行 laradock,重要的是将 laradock 文件夹重命名为每个项目中的唯一名称)。
现在跳到用法部分。
A.2) 还没有 PHP 项目::
1 - 在您的计算机上的任何位置克隆此存储库:
```git clone https://github.com/laradock/laradock.git
```
您的文件夹结构应如下所示:
+ laradock
+ project-z
2 - 编辑Web服务器站点配置。
我们现在需要跳到用法章节的第1步,用于实现这一点。
cp env-example .env
在顶部,将 APPLICATION 变量更改为项目路径。
APPLICATION=../project-z/
确保替换 project-z 为项目文件夹名称。
现在跳转到 用法 章节。
B) 多个项目的设置:
(如果您想为所有项目使用单个Docker环境,请执行以下步骤)
1 - 在您的机器上的任何位置克隆此仓库 (类似于 上面A.2步骤):
```git clone https://github.com/laradock/laradock.git
```
您的文件夹结构应如下所示:
+ laradock
+ project-1
+ project-2
2 - 访问nginx/sites并创建配置文件,在访问不同的域时指向不同的项目目录。
Laradock 默认包含 app.conf.example,laravel.conf.example 并 symfony.conf.example 作为工作样本。
3 - 更改默认名称*.conf:
您可以随意重命名配置文件、项目文件夹和域,只需确保配置文件中的“根”指向正确的项目文件夹名称。
4 - 将域添加到 hosts 文件。
127.0.0.1 project-1.test
127.0.0.1 project-2.test
...
如果您使用的是Chrome 63或以上,请不要使用.dev。为什么?。相反,可以使用.localhost、.invalid、.test或.example。
现在跳转到用法 章节。
用法
开始之前:
如果您正在使用Docker Toolbox (VM),请执行以下操作:
- 升级到 Docker 本机的 Mac/Windows (推荐)。查看升级 Laradock
- 使用Laradock v3.*。参观Laradock-ToolBox分支。(已过时,不推荐)
我们建议使用比1.13更新的 Docker 版本。
警告: 如果您使用旧版本的Laradock,强烈建议您重建需要使用的容器,了解如何重建容器以防止尽可能多的错误。
1 - 输入laradock文件夹并复制 env-example到 .env
```cp env-example .env
```
您可以编辑该.env文件以选择要在您的环境中安装的软件。您始终可以参考该docker-compose.yml文件以查看这些变量的使用方式。
根据主机的操作系统,您可能需要更改给定的值COMPOSE_FILE。在 Mac OS 上运行 Laradock 时,要使用的文件分隔符是正确的:。从 Windows 环境运行Laradock时,必须用多个文件分隔;。
默认情况下,将创建的容器具有当前目录名称作为后缀(例如laradock_workspace_1)。如果在多个项目中使用 laradock,这可能会导致容器卷内的数据混合。在这种情况下,请阅读多个项目的指南或将变量更改为COMPOSE_PROJECT_NAME与项目名称相同的唯一内容。
2 - 构建环境并使用它运行 docker-compose
在这个例子中,我们将看到如何运行NGINX(Web服务器)和MySQL(数据库引擎)来托管PHP Web脚本:
```docker-compose up -d nginx mysql
```
注意: 所有Web服务器容器nginx,apache..依赖于php-fpm,这意味着如果您运行其中任何一个,它们将自动php-fpm为您启动容器,因此无需在 up 命令中明确指定它。如果必须这样做,您可能需要按如下方式运行它们:docker-compose up -d nginx php-fpm mysql。
您可以从此列表中选择自己的容器组合。
请注意,有时我们忘记更新文档,因此请检查 docker-compose.yml 文件以查看所有可用容器的更新列表)。
3 - 进入Workspace容器,执行命令,如(Artisan,Composer,PHPUnit,Gulp,...)
```docker-compose exec workspace bash
```
或者,对于Windows PowerShell用户:执行以下命令以输入任何正在运行的容器:
```docker exec -it {workspace-container-id} bash
```
注意: 您可以添加--user=laradock以将文件创建为主机的用户。例:
```docker-compose exec --user=laradock workspace bash
```
您可以从.env文件中更改PUID(用户ID)和PGID(组ID)变量)
4 - 更新项目配置使其可以使用数据库
打开PHP项目的 .env 文件或您正在读取的任何配置文件,并将数据库主机 DB_HOST 设置为 mysql:
DB_HOST=mysql
```
如果要安装 Laravel框架作为PHP项目,请参阅如何在Docker容器中安装Laravel。
5 - 打开浏览器并访问您的本地主机地址http://localhost/。如果您按照多个项目设置,您可以访问http://project-1.test/和http://project-2.test/。
原文地址:https://segmentfault.com/a/1190000016042715
Laradock 快速搭建PHP开发环境的更多相关文章
- CentOS 7快速搭建Nodejs开发环境
Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好.学习Nodejs首先需要会安装环境.这里我介绍如 ...
- Linux下快速搭建php开发环境
php开发环境快速搭建 一.Linux下快速搭建php开发环境 1.安装XAMPP for Linux XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包,使用XA ...
- Windows下快速搭建安卓开发环境android-studio
Windows下快速搭建安卓开发环境android-studio 发布时间:2018-01-18 来源:网络 上传者:用户 关键字: 安卓 搭建 Android Windows 快速 环境 Studi ...
- 【IntelliJ IDEA新手入门】IDEA如何快速搭建Java开发环境
作为IntelliJ IDEA mac新手,IDEA如何快速搭建Java开发环境呢? 今天小编就给大家带来了IntelliJ IDEA mac使用教程,想知道IDEA如何快速搭建Java开发环境?那就 ...
- 利用CodeBlocks结合freeglut快速搭建OpenGL开发环境
利用CodeBlocks结合freeglut快速搭建OpenGL开发环境 2018-12-19 10:15:48 再次超越梦想 阅读数 180更多 分类专栏: 我的开发日记 版权声明:本文为博主原 ...
- IDEA如何快速搭建Java开发环境
作为IntelliJ IDEA mac新手,IDEA如何快速搭建Java开发环境呢?今天小编就给大家带来了IntelliJ IDEA mac使用教程,想知道IDEA如何快速搭建Java开发环境? 全局 ...
- 五分钟用Docker快速搭建Go开发环境
挺早以前在我写过一篇用 `Docker`搭建LNMP开发环境的文章:[用Docker搭建Laravel开发环境](http://mp.weixin.qq.com/s?__biz=MzUzNTY5MzU ...
- 使用Docker快速搭建PHP开发环境
最近有个同事找过来,希望我对在很早之前写的一个PHP网站上增加一些功能,当时开发使用xampp构建的本地开发环境,但是现在我的笔记本电脑已经更新,没有当时的开发环境.本着尽量不往电脑上装无用软件的原则 ...
- linux(ubuntu)和windows下面快速搭建android开发环境
在windows和linux下面搭建android开发环境,一般要安装以下几个软件: 1.JDK安装 2.Eclipse安装 3.Android SDK安装 4.在eclipse里面安装ADT 5.e ...
随机推荐
- 我不常用的 javascript
获取当前时间:new Date (最后的调用括号可加可不加) 获取当前时间戳: 方法1:Date.parse(new Date()) 方法2:(new Date()).valueOf() 方法3 ...
- 谈谈c++纯虚函数的意义!
纯虚函数的存在有什么意义呢?相信大学假设有c++这么课程.在讲到纯虚函数时,必然会讲到纯虚函数是面向接口编程的基础. 如今和大家分享下纯虚函数设计的原由.目的.产生的效果. 现代软件project很庞 ...
- 布局技巧4:使用ViewStub
多亏了<include />标签,在Android里,很容易就能做到共享和重用UI组件.在Android开发中,很容易就能创建出复杂的UI结构,结果呢,用了很多的View,且其中的一些很少 ...
- bzoj1494
这道题不仅得看俞华程的论文,还得看陈丹琦的论文,否则是不可能做出来的.因为难点在构造矩阵上. 构造矩阵困难在如何表示状态,因为树不能有环,也不能不连通,这里我们引入了最小表示法来表示连续k个点的连通性 ...
- PCB genesis连孔加除毛刺孔(圆孔与槽孔)实现方法(二)
一.为什么 连孔加除毛刺孔 原因是 PCB板材中含有玻璃纤维, 毛刺产生位置在于2个孔相交位置,由于此处钻刀受力不均导致纤维切削不断形成毛刺 ,为了解决这个问题:在钻完2个连孔后,在相交处再钻一个孔, ...
- PCB genesis大孔加小孔(即卸力孔)实现方法
一.为什么 大孔中要加小孔(即卸力孔) 这其实跟钻刀的排屑有关了,当钻刀越大孔,排屑量也越大(当然这也得跟转速,下刀速的参数有关系),通常当钻刀越大,转速越慢,下刀速也越慢(因为要保证它的排屑通畅). ...
- PCB javascript解析钻孔(Excellon)格式实现方法
解析钻孔(Excellon)格式前首先得了解此格式,这样才能更好的解析呀. 一个钻孔里面包含的基本信息如下: 1.单位:公式mm,英制inch 2.省零方式:前省零,后省零 3.坐标方式:绝对坐标,相 ...
- github 用户不被识别问题
期末考完,继续开发. 用过的都知道,直接用的话贡献者上面显示不出自己. 查一下就知道是因为github的识别是靠邮箱设置的. 但是如果频繁创建新仓库,容易忘记设定用户名和邮箱. 突发奇想,发现 ...
- composer 下载安装
linux/mac os curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/compos ...
- 《Typecript 入门教程》 3、接口
转载:<TypeScript 中文入门教程> 3.接口 介绍 TypeScript的核心原则之一是对值所具有的shape进行类型检查. 它有时被称做“鸭式辨型法”或“结构性子类型化”. 在 ...