(原文地址:https://blog.tanteng.me/2017/...)php
Laravel 官方提供 Homestead 和 Valet 做为本地开发环境,Homestead 是一个官方预封装的 Vagrant Box,也就是一个虚拟机,可是跟 docker 比,它占用体积太大,启动速度慢,同时响应速度很慢,如今有了 docker 这种更好的方式,能够轻松方便的搭建整套 PHP 开发环境。mysql
本文就介绍如何使用 docker 搭建 Laravel 本地环境。nginx
首先安装 docker。laravel
laradock 官方文档:http://laradock.io/git
laradock github:https://github.com/laradock/l...github
laradock 是一个包含全功能用于 docker 的 PHP 运行环境,使用 docker-compose 方式部署。(特别说明:它不只用于 Laravel 环境搭建,并且支持全部其余 PHP 框架,它就是一整套 PHP 的环境。)redis
1.克隆 laradocksql
git clone https://github.com/Laradock/laradock.git
2.建立环境变量文件docker
cp env-example .env
3.直接用 docker-compose 运行须要启用的服务,如:segmentfault
docker-compose up -d nginx mysql redis beanstalkd
这样就启动了所需的 PHP 运行环境,php-fpm 默认会运行,因此不须要指定。
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
在本地经过域名方式访问站点,要将 host 中域名绑定到本地,同时还须要增长 nginx 配置。
如图,在 laradock 项目的 nginx 文件夹下的 sites 目录下添加配置文件便可。
执行 composer 等操做,须要进入到 workspace 容器中进行,使用命令:
docker-compose exec workspace bash
进入到 workspace 容器,就能够进行 compose 命令等操做了。
具体使用上的问题请参加 laradock 官方文档,上面都有说明。
Docker 是如今火热的一个容器技术,做为开发人员有必要掌握它的使用,不管你是用来搭建本地环境,仍是部署应用。你将体会到使用 Docker 的便利。
一个规范的开发流程,首先要有一个完善的本地环境,之前使用 vagrant + Homestead 做为虚拟机,启动慢,占用空间大,而 Docker 更轻量级,启动速度快,更能够方便搭配不一样的容器。不只如此,docker 配置也能够用于生产环境,"Build once, Run anywhere, Configure once, Run anything".
本次讲座重点以搭建 PHP 环境为例,使用 Github 上一个项目 —— laradock,演示如何以 docker-compose 方式搭建全套本地 PHP 开发环境。
你将学习到:
Docker 基础知识
Dokerfile 语法
docker-compose.yml 语法
docker-compose 的使用
如何使用 laradock 搭建 PHP 环境
让咱们开启 PHP 开发者的 Docker 之旅!