Laradock 快速搭建PHP开发环境

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

要求

附带一个安装参考教程腾讯云课堂地址php

安装

选择最适合您须要的设置。mysql

A) 单个项目的设置

(若是您但愿每一个项目都有单独的Docker环境,请按照如下步骤操做)

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

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

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

注意:若是您还没有将 Git 用于项目,则可使用git clone而不是git submodulegithub

为了跟踪您的Laradock更改,您的项目之间,并保持Laradock更新检查这些文档sql

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

+ project-a
  + laradock-a
+ project-b
  + laradock-b

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

如今跳到用法部分。

A.2) 尚未 PHP 项目::

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

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.examplelaravel.conf.examplesymfony.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),请执行如下操做:


咱们建议使用比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

DB_HOST=mysql

若是要安装 Laravel框架做为PHP项目,请参阅如何在Docker容器中安装Laravel



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

相关文章
相关标签/搜索