当前位置: 首页 > 文档资料 > Laradock 中文文档 >

介绍

优质
小牛编辑
133浏览
2023-12-01

简介

一套完整的基于Docker的PHP开发环境。

包含了预先打包的Docker镜像,所有预先配置都是为了提供一个完美的PHP开发环境。

Laradock是在laravel社区众所周知的,因为这个项目最开始只关注在Docker上运行的laravel项目。后来,由于PHP社区的大量使用,它开始支持比如SymfonyCodeIgniterWordPressDrupal等其他的PHP项目。

快速概览

让我们来看一下用它安装NGINX, PHP, Composer, MySQL, Redis and Beanstalkd是多么容易:

  • 克隆Laradock到你的PHP项目中:
git clone https://github.com/Laradock/laradock.git
  • 进入laradock文件夹并重命名env-example.env:
cp env-example .env
  • 运行你的容器:
docker-compose up -d nginx mysql redis beanstalkd
  • 打开你项目里的.env文件并设置以下内容:
DB_HOST=mysql
REDIS_HOST=redis
QUEUE_HOST=beanstalkd
  • 打开浏览器并访问本地主机: http://localhost.
That's it! enjoy :)

特点

  • 轻松切换PHP版本: 7.1, 7.0, 5.6...
  • 选择你最喜欢的数据库引擎: MySQL, Postgres, MariaDB...
  • 运行你自己的软件组合: Memcached, HHVM, Beanstalkd...
  • 每个软件都运行在一个单独的容器中: PHP-FPM, NGINX, PHP-CLI...
  • 通过简单的编辑 Dockerfile很容易定制任何容器
  • 所有镜像都继承自官方的基础镜像 (可信任的基础镜像)。
  • 预先配置在您的根目录下的NGINX可以托管任何代码。
  • 每个项目都可以使用laradock,或者所有项目也可以共用一个laradock。
  • 可以很容易的使用环境变量安装/删除容器中的软件。
  • 干净、结构很好的Dockerfiles (Dockerfile)。
  • 最新版的Docker Compose文件 (docker-compose)。
  • 一切都是可见、可编辑的。
  • 快速的镜像构建。
  • 每周会有更多更新。

支持的软件

在秉承Docker推动的关注分离原则的同时,Laradock在各自的容器中(Container)独立运行各自的软件,你可以像任何容器一样打开/关闭多个实例,而不用担心配置,一切都很有魅力。

  • 数据库引擎: MySQL - MariaDB - Percona - MongoDB - Neo4j - RethinkDB - MSSQL - PostgreSQL - Postgres-PostGIS.
  • 数据库管理: PhpMyAdmin - Adminer - PgAdmin
  • 缓存引擎: Redis - Memcached - Aerospike
  • PHP 服务器: NGINX - Apache2 - Caddy
  • PHP 编译器: PHP FPM - HHVM
  • 消息队列: Beanstalkd - RabbitMQ - PHP Worker
  • 队列管理: Beanstalkd Console - RabbitMQ Console
  • 随机 工具: HAProxy - Certbot - Blackfire - Selenium - Jenkins - ElasticSearch - Kibana - Grafana - Mailhog - MailDev - Minio - Varnish - Swoole - Laravel Echo...

作为一个开发环境,Laradock引入了Workspace镜像,它包含一套丰富的有用的工具,所有工具都用上预先配置好的,几乎可以与所有你选择的容器或者工具组合起来一起工作。

Workspace 镜像工具

PHP CLI - Composer - Git - Linuxbrew - Node - V8JS - Gulp - SQLite - xDebug - Envoy - Deployer - Vim - Yarn - SOAP - Drush...

你可以从.env文件中选择要安装的在工作区的容器和其它容器中的工具。

如果你修改docker-compose.yml, .env 或者任何 dockerfile 文件, 你必须重新构建你的容器, 在运行实例中查看这些修改的效果。

如果您在列表中找不到您的软件,请自行构建并提交。贡献欢迎:)

什么是Docker

Docker 是一个开发、运输、运行应用程序的开放平台。

Docker可以使你将应用程序和你的基础架构(设备)分离,因此你可以快速的交付你软件。

使用Docker,你可以管理应用程序一样管理你的基础架构,通过使用Docker的methodologies来快速的传输、测试和部署代码,可以显著的缩短编写代码和生成环境中运行的代码之间的延迟。

为什么是Docker而不是Vagrant

Vagrant 可以在进分钟内创建虚拟机, 而 Docker 是在几秒中内创建虚拟容器。

Docker提供轻量级的虚拟容器,它们共享相同的内核,并允许安全的执行独立的进程,而不像Vagrant一样提供完整的虚拟机。

除了速度之外,Docker还提供了很多Vagrant无法实现的功能。

最重要的是,Docker可以运行在开发和生产(任何地方都可以做到相同的环境),而Vagrant仅仅只是为了开发而设计(因此您必须每次在生产环境中重新配置您的服务器)