可能你并不清楚 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更新检查这些文档

您的文件夹结构应如下所示:


  1. + project-a
  2. + laradock-a
  3. + project-b
  4. + laradock-b

(如果要为每个项目运行 laradock,重要的是将 laradock 文件夹重命名为每个项目中的唯一名称)。

现在跳到用法部分。

A.2) 还没有 PHP 项目::

1 - 在您的计算机上的任何位置克隆此存储库:

```git clone https://github.com/laradock/laradock.git
```

您的文件夹结构应如下所示:


  1. + laradock
  2. + project-z

2 - 编辑Web服务器站点配置。

我们现在需要跳到用法章节的第1步,用于实现这一点。


  1. cp env-example .env

在顶部,将 APPLICATION 变量更改为项目路径。


  1. APPLICATION=../project-z/

确保替换 project-z 为项目文件夹名称。

现在跳转到 用法 章节。

B) 多个项目的设置:

(如果您想为所有项目使用单个Docker环境,请执行以下步骤)

1 - 在您的机器上的任何位置克隆此仓库 (类似于 上面A.2步骤):

```git clone https://github.com/laradock/laradock.git
```

您的文件夹结构应如下所示:


  1. + laradock
  2. + project-1
  3. + project-2

2 - 访问nginx/sites并创建配置文件,在访问不同的域时指向不同的项目目录。

Laradock 默认包含 app.conf.examplelaravel.conf.examplesymfony.conf.example 作为工作样本。

3 - 更改默认名称*.conf

您可以随意重命名配置文件、项目文件夹和域,只需确保配置文件中的“根”指向正确的项目文件夹名称。

4 - 将域添加到 hosts 文件。


  1. 127.0.0.1 project-1.test
  2. 127.0.0.1 project-2.test
  3. ...

如果您使用的是Chrome 63或以上,请不要使用.dev。为什么?。相反,可以使用.localhost.invalid.test.example

现在跳转到用法 章节。

用法

开始之前:

如果您正在使用Docker Toolbox (VM),请执行以下操作:

我们建议使用比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服务器容器nginxapache..依赖于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

  1. DB_HOST=mysql
  2. ```

  3. 如果要安装 Laravel框架作为PHP项目,请参阅如何在Docker容器中安装Laravel

  4. 5 - 打开浏览器并访问您的本地主机地址http://localhost/。如果您按照多个项目设置,您可以访问http://project-1.test/http://project-2.test/

  5. 原文地址:https://segmentfault.com/a/1190000016042715

  6. Laradock 快速搭建PHP开发环境的更多相关文章

      1. CentOS 7快速搭建Nodejs开发环境
      1. Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好.学习Nodejs首先需要会安装环境.这里我介绍如 ...

      1. Linux下快速搭建php开发环境
      1. php开发环境快速搭建 一.Linux下快速搭建php开发环境 1.安装XAMPP for Linux XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包,使用XA ...

      1. Windows下快速搭建安卓开发环境android-studio
      1. Windows下快速搭建安卓开发环境android-studio 发布时间:2018-01-18 来源:网络 上传者:用户 关键字: 安卓 搭建 Android Windows 快速 环境 Studi ...

      1. 【IntelliJ IDEA新手入门】IDEA如何快速搭建Java开发环境
      1. 作为IntelliJ IDEA mac新手,IDEA如何快速搭建Java开发环境呢? 今天小编就给大家带来了IntelliJ IDEA mac使用教程,想知道IDEA如何快速搭建Java开发环境?那就 ...

      1. 利用CodeBlocks结合freeglut快速搭建OpenGL开发环境
      1. 利用CodeBlocks结合freeglut快速搭建OpenGL开发环境 2018-12-19 10:15:48 再次超越梦想 阅读数 180更多 分类专栏: 我的开发日记   版权声明:本文为博主原 ...

      1. IDEA如何快速搭建Java开发环境
      1. 作为IntelliJ IDEA mac新手,IDEA如何快速搭建Java开发环境呢?今天小编就给大家带来了IntelliJ IDEA mac使用教程,想知道IDEA如何快速搭建Java开发环境? 全局 ...

      1. 五分钟用Docker快速搭建Go开发环境
      1. 挺早以前在我写过一篇用 `Docker`搭建LNMP开发环境的文章:[用Docker搭建Laravel开发环境](http://mp.weixin.qq.com/s?__biz=MzUzNTY5MzU ...

      1. 使用Docker快速搭建PHP开发环境
      1. 最近有个同事找过来,希望我对在很早之前写的一个PHP网站上增加一些功能,当时开发使用xampp构建的本地开发环境,但是现在我的笔记本电脑已经更新,没有当时的开发环境.本着尽量不往电脑上装无用软件的原则 ...

      1. linux(ubuntu)和windows下面快速搭建android开发环境
      1. 在windows和linux下面搭建android开发环境,一般要安装以下几个软件: 1.JDK安装 2.Eclipse安装 3.Android SDK安装 4.在eclipse里面安装ADT 5.e ...

    1. 随机推荐

        1. Error处理: 重提No Launcher activity found!
        1. Error处理: 重提No Launcher activity found! 重提No Launcher activity found!错误提示,及解决的方法 Android应用开发中No Launc ...

        1. 初探C++运算符重载学习笔记<2> 重载为友元函数
        1. 初探C++运算符重载学习笔记 在上面那篇博客中,写了将运算符重载为普通函数或类的成员函数这两种情况. 以下的两种情况发生.则我们须要将运算符重载为类的友元函数 <1>成员函数不能满足要求 ...

        1. 腾讯云linux服务器安装lnmp一键包
        1. 这边域名已经实名了. 然后修改DNS服务器 然后备案吧 还是先不备案,直接云解析DNS 哦,想起来了,阿里云自己都可以生成SSL证书.重新弄一次吧,其实腾讯云也可以申请域名型免费版DV

        1. 【转】pycharm常用快捷键
        1. 转自:http://www.2cto.com/os/201410/341542.html 转来珍藏着,以后慢慢完善. 编辑类: Ctrl + Space 基本的代码完成(类.方法.属性)Ctrl + ...

        1. CSS伪类对象before和after的实例
        1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

        1. POJ3070Fibonacci
        1. 矩阵乘法裸题 求快速幂 #include<iostream> #include<cstdio> #define ll long long #define Mod 10000 u ...

        1. [Swift通天遁地]八、媒体与动画-(3)实现视频播放的水印、Overlay、暂停时插入广告等效果
        1. ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

        1. Java经典算法之选择排序(Select Sort)
        1. 思路:就是把所有数据项扫描一遍,挑出最小的那个和最左边的交换位置,即放到0位置.现在最左边的就是有序得了,不需要在交换位置,再次扫描数据时就是从1开始,还是寻找最小的和1交换位置,直到所有数据都是有序 ...

        1. JAVA FORK JOIN EXAMPLE--转
        1. http://www.javacreed.com/java-fork-join-example/ Java 7 introduced a new type of ExecutorService (Ja ...

        1. SublimeText学习(二)-基本操作
        1. 1.查看已安装的插件 看到已经安装的插件,看到了在上一篇中安装的Emmet 2.设置主题与字体 方法一: 方法二: 工具栏中 [Preference-浏览程序包]找到[Default文件夹]-用Sub ...