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/

相關文章
相關標籤/搜索