可能你並不清楚Docker
是什麼,更不瞭解Laradock
是什麼,送上語句本身特別喜歡的一句話Use Docker First And Learn About It Later
大概意思就是先去使用它,而後再去學習它
,
附帶一個安裝參考教程騰訊雲課堂地址,php
選擇最適合您須要的設置。mysql
A) 單個項目的設置nginx
A.1) 已經有一個 PHP 項目laravel
(若是您但願每一個項目都有單獨的Docker環境,請按照如下步驟操做)
1 - 在項目根目錄中克隆laradock:git
git submodule add https://github.com/Laradock/laradock.git
注意:若是您還沒有將 Git 用於項目,則可使用git clone
而不是git submodule
。github
爲了跟蹤您的Laradock更改,您的項目之間,並保持Laradock更新檢查這些文檔sql
您的文件夾結構應以下所示:chrome
+ project-a + laradock-a + project-b + laradock-b
(若是要爲每一個項目運行 laradock,重要的是將 laradock 文件夾重命名爲每一個項目中的惟一名稱)。docker
如今跳到用法部分。
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
爲項目文件夾名稱。
如今跳轉到 用法 章節。
(若是您想爲全部項目使用單個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),請執行如下操做:
咱們建議使用比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/
。