Laradock 快速搭建PHP开发环境

可能你并不清楚 `Docker` 是什么,更不了解 `Laradock`是什么,送上语句自己特别喜欢的一句话 `Use Docker First And Learn About It Later` 大概意思就是 `先去使用它,然后再去学习它`,

要求

- [Git](https://git-scm.com/downloads)

- [Docker](https://www.docker.com/products/docker/) `>= 1.12`

附带一个安装参考教程[腾讯云课堂地址](https://ke.qq.com/course/324386)

安装

选择最适合您需要的设置。

- [A) 单个项目的设置](#A)

  - [A.1) 已经有一个 PHP 项目](#A1)

 - [A.2) 还没有 PHP 项目](#A2)

- [B) 多个项目的设置](#B)

A) 单个项目的设置

> (如果您希望每个项目都有单独的Docker环境,请按照以下步骤操作)

A.1) 已经有一个 PHP 项目:

1 - 在项目根目录中克隆laradock:

```bash

git submodule add https://github.com/Laradock/laradock.git

```

注意:如果您尚未将 Git 用于项目,则可以使用`git clone`而不是`git submodule`。

*为了跟踪您的Laradock更改,您的项目之间,并保持Laradock更新[检查这些文档](/documentation/#跟踪你Laradock的变化)*

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

```

+ project-a

  + laradock-a

+ project-b

  + laradock-b

```

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

> **现在跳到[用法](#用法)部分。**

A.2) 还没有 PHP 项目:

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

```bash

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步骤](#A2)):

```bash

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。[为什么?](https://laravel-news.com/chrome-63-now-forces-dev-domains-https)。相反,可以使用`.localhost`、`.invalid`、`.test`或`.example`。

> **现在跳转到[用法](#用法) 章节。**

用法

开始之前:

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

- 升级到 Docker 本机的 Mac/Windows (推荐)。查看[升级 Laradock](/documentation/#upgrading-laradock)

- 使用Laradock v3.\*。参观[Laradock-ToolBox](https://github.com/laradock/laradock/tree/Laradock-ToolBox)分支。*(已过时,不推荐)*


我们建议使用比1.13更新的 Docker 版本。


>**警告:** 如果您使用旧版本的Laradock,强烈建议您[重建需要使用的容器](#Build-Re-build-Containers),了解如何重建容器以防止尽可能多的错误。


1 - 输入laradock文件夹并复制 `env-example`到 `.env`

```shell

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脚本:

```bash

docker-compose up -d nginx mysql

```

** 注意:** 所有Web服务器容器`nginx`,`apache`..依赖于`php-fpm`,这意味着如果您运行其中任何一个,它们将自动`php-fpm`为您启动容器,因此无需在 up 命令中明确指定它。如果必须这样做,您可能需要按如下方式运行它们:`docker-compose up -d nginx php-fpm mysql`。

您可以从此[列表中](http://laradock.io/introduction/#supported-software-images)选择自己的容器组合。

*请注意,有时我们忘记更新文档,因此请检查 `docker-compose.yml` 文件以查看所有可用容器的更新列表)。*


3 - 进入Workspace容器,执行命令,如(Artisan,Composer,PHPUnit,Gulp,...)

```bash

docker-compose exec workspace bash

```

*或者,对于Windows PowerShell用户:执行以下命令以输入任何正在运行的容器:*

```bash

docker exec -it {workspace-container-id} bash

```

**注意:** 您可以添加`--user=laradock`以将文件创建为主机的用户。例:

```shell

docker-compose exec --user=laradock workspace bash

```

*您可以从`.env`文件中更改PUID(用户ID)和PGID(组ID)变量)*


4 - 更新项目配置使其可以使用数据库

打开PHP项目的 `.env` 文件或您正在读取的任何配置文件,并将数据库主机 `DB_HOST` 设置为 `mysql`:

```env

DB_HOST=mysql

```

*如果要安装 `Laravel`框架作为PHP项目,请参阅[如何在Docker容器中安装Laravel](#安装 Laravel)。*


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

你可能感兴趣的:(Laradock 快速搭建PHP开发环境)