使用 Docker 搭建 Laravel 本地環(huán)境的教程詳解
Laravel 官方提供 Homestead 和 Valet 作為本地開發(fā)環(huán)境,Homestead 是一個(gè)官方預(yù)封裝的 Vagrant Box,也就是一個(gè)虛擬機(jī),但是跟 docker 比,它占用體積太大,啟動(dòng)速度慢,同時(shí)響應(yīng)速度很慢,現(xiàn)在有了 docker 這種更好的方式,可以輕松方便的搭建整套 PHP 開發(fā)環(huán)境。
本文就介紹如何使用 docker 搭建 Laravel 本地環(huán)境。
安裝 docker
首先安裝 docker。
克隆 laradock
laradock 官方文檔: http://laradock.io/
laradock github: https://github.com/laradock/laradock
laradock 是一個(gè)包含全功能用于 docker 的 PHP 運(yùn)行環(huán)境,使用 docker-compose 方式部署。(特別說明:它不僅用于 Laravel 環(huán)境搭建,而且支持所有其他 PHP 框架,它就是一整套 PHP 的環(huán)境。)
部署 PHP 環(huán)境
1.克隆 laradock
git clone https://github.com/Laradock/laradock.git
2.創(chuàng)建環(huán)境變量文件
cp env-example .env
3.直接用 docker-compose 運(yùn)行需要啟用的服務(wù),如:
docker-compose up -d nginx mysql redis beanstalkd
這樣就啟動(dòng)了所需的 PHP 運(yùn)行環(huán)境,php-fpm 默認(rèn)會(huì)運(yùn)行,所以不需要指定。
Laravel 配置文件
Laravel 配置文件需要注意的問題是,在 .env 文件中,mysql 和 redis 的地址需填寫成這樣,而不是 ip 地址形式:
DB_CONNECTION=mysql DB_HOST=mysql DB_PORT=3306 DB_DATABASE=tanteng.me DB_USERNAME=root DB_PASSWORD=root REDIS_HOST=redis REDIS_PASSWORD=null REDIS_PORT=6379
注意代碼中高亮部分。
Nginx 配置
在本地通過域名方式訪問站點(diǎn),要將 host 中域名綁定到本地,同時(shí)還需要增加 nginx 配置。
如圖,在 laradock 項(xiàng)目的 nginx 文件夾下的 sites 目錄下添加配置文件即可。
執(zhí)行 composer
執(zhí)行 composer 等操作,需要進(jìn)入到 workspace 容器中進(jìn)行,使用命令:
docker-compose exec workspace bash
進(jìn)入到 workspace 容器,就可以進(jìn)行 compose 命令等操作了。
總結(jié)
以上所述是小編給大家介紹的使用 Docker 搭建 Laravel 本地環(huán)境的教程詳解,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
使用docker搭建jenkins自動(dòng)化工具的實(shí)現(xiàn)
大家在工作中,應(yīng)該都有使用過jenkins 自動(dòng)化打包或發(fā)布,本文主要介紹了使用docker搭建jenkins自動(dòng)化工具的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04docker初始化安裝時(shí)的WSL兩個(gè)問題詳解
這篇文章主要給大家介紹了關(guān)于docker初始化安裝時(shí)的WSL兩個(gè)問題,文中通過代碼以及圖文介紹的非常詳細(xì),對(duì)初學(xué)者學(xué)習(xí)Docker,非常有幫助,需要的朋友可以參考下2023-12-12docker?環(huán)境搭建、docker?與容器常用指令大全(推薦)
這篇文章主要介紹了docker?環(huán)境搭建、docker?與容器常用指令大全,主要包括docker容器操作命令匯總,文中介紹需要注意的是如果想要?jiǎng)h除一個(gè)容器,需要先停止該容器且如果鏡像中有運(yùn)行狀態(tài)的容器,也是無法刪除容器的,需要的朋友可以參考下2022-06-06docker network_mode: "host" 網(wǎng)絡(luò)配置方式
這篇文章主要介紹了docker network_mode: "host" 網(wǎng)絡(luò)配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05Docker搭建持續(xù)集成平臺(tái)Jenkins的最簡(jiǎn)教程分享
Jenkins 是一個(gè)廣泛使用的開源持續(xù)集成工具,它能夠自動(dòng)化構(gòu)建、測(cè)試和部署軟件項(xiàng)目,本文我們將使用 Docker 搭建一個(gè)基于 Jenkins 的持續(xù)集成平臺(tái),感興趣的可以了解下2024-03-03