【转载】使用 Laradock 搭建基于 Docker 的 PHP 开发环境

转自: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 项目代码克隆到本地:

2、进入 laradock 目录将 env-example 重命名为 .env

3、运行容器:

如果指定端口已经被占用,运行上述命令会报错,关闭相应的服务再重新运行上述命令即可。

4、打开项目的 .env 文件并添加如下配置:

5、要测试配置访问域名指向 Docker 环境目录,我们先在 laradock 父级目录下创建一个与 laradock 同级的 wwwroot 目录,然后在 wwwroot 目录下运行 laravel new blog 命令创建一个新的 Laravel 应用,相应的层级目录关系如下所示:

然后我们需要到 laradock 下编辑 .env 中的 APPLICATION 配置项:

注:最新版本的 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 等
点赞

发表回复

电子邮件地址不会被公开。必填项已用 * 标注