转自:https://laravelacademy.org/post/7691.html
https://gitee.com/anviod/laradock#Install-Laravel
https://www.jianshu.com/p/72f81c58e053
https://www.cnblogs.com/caibaotimes/articles/14129465.html
快速上手
深入了解 Laradock 之前让我们先见识下如何在 Laradock 中快速安装 Nginx、PHP、Composer、MySQL、Redis 和 Beanstalkd 吧,有了这些开发 Laravel 必备的工具组件也就差不离了。
1、首先将 Laradock 项目代码克隆到本地:
git clone https://github.com/Laradock/laradock.git
2、进入 laradock
目录将 env-example
重命名为 .env
:
3、运行容器:
docker-compose up -d nginx mysql redis beanstalkd
如果指定端口已经被占用,运行上述命令会报错,关闭相应的服务再重新运行上述命令即可。
4、打开项目的 .env
文件并添加如下配置:
DB_HOST=mysql
QUEUE_HOST=beanstalkd
5、要测试配置访问域名指向 Docker 环境目录,我们先在 laradock
父级目录下创建一个与 laradock
同级的 wwwroot
目录,然后在 wwwroot
目录下运行 laravel new blog
命令创建一个新的 Laravel 应用,相应的层级目录关系如下所示:

然后我们需要到 laradock
下编辑 .env
中的 APPLICATION
配置项:
APPLICATION=../wwwroot/
注:最新版本的
laradock
对应的配置项是APP_CODE_PATH_HOST
。
这样就相当于为 wwwroot
与 Docker 的 /var/www
目录建立了软链接,然后我们修改 laradock/nginx/sites/default.conf
中的映射关系:

接下来,需要重启 Docker 的 Nginx:
这样,我们就可以在浏览器中通过 http://localhost
访问这个应用了,当然,如果需要的话,也可以将 localhost
换成任意你想要的域名,不过还需要配置 /etc/hosts
和 laradock/nginx/sites/default.conf
里面的域名信息:

以上就是 Laradock 的简单上手指南。这里我们设置的场景是新建一个应用,如果是多个应用的话要怎么办呢?也很简单,就是在上述 wwwroot
目录下创建多个应用目录,然后在 laradock/nginx/sites
下对应创建多个配置文件,最后不要忘记在系统 /etc/hosts
中配置相关域名绑定 IP 即可。
注:更多使用细节请参考官方文档:http://laradock.io/documentation/
功能特性
最后,我们来捋一下 Laradock 的功能特性:
- 可轻松在不同版本 PHP 之间切换: 7.1、7.0、5.6 等
- 自由选择数据库: MySQL、Postgres、MariaDB 等
- 运行自己的软件: Memcached、HHVM、Beanstalkd 等
- 每个软件都运行在隔离的容器中: PHP-FPM、NGINX、PHP-CLI 等
- 轻松自定义容器,只需编辑 Dockerfile 文件即可
- 所有的镜像都扩展自官方的镜像
- 预配置的 NGINX
- 可以在每个项目中使用 Laradock, 也可以让所有项目共享一个 Laradock
- 使用环境变量在容器中轻松安装/卸载软件
- 干净、结构良好的 Dockerfile
- 最新版本的
docker-compose
文件 - 一切均可见、可编辑
- 快速构建镜像
除此之外,目前为止,Laradock 支持的软件包括但不限于:
- 数据库引擎: MySQL - MariaDB - Percona - MongoDB - Neo4j - RethinkDB - MSSQL - PostgreSQL - Postgres-PostGIS.
- 数据库管理工具: PhpMyAdmin - Adminer - PgAdmin
- 缓存工具: Redis - Memcached - Aerospike
- Web 服务器: NGINX - Apache2 - Caddy
- PHP 编译器: PHP FPM - HHVM
- 消息队列: Beanstalkd - RabbitMQ - PHP Worker
- 队列管理器: Beanstalkd Console - RabbitMQ Console
- 大国重器: HAProxy - Certbot - Blackfire - Selenium - Jenkins - ElasticSearch - Kibana - Mailhog - Minio - Varnish - Swoole - Laravel Echo 等
- Laradock 还引入了 Workspace 镜像作为开发环境,里面包含了丰富且实用的工具集:PHP CLI - Composer - Git - Linuxbrew - Node - V8JS - Gulp - SQLite - xDebug - Envoy - Deployer - Vim - Yarn - SOAP - Drush 等