Laradock是一个基于Docker的完整PHP开发环境。
它支持各种公共服务,这些服务都是预先配置的,以提供一个现成的PHP开发环境。


特点

  • 轻松切换PHP版本:7.4,7.3,7.2,7.1,5.6…
  • 选择你最喜欢的数据库引擎:MySQL, Postgres, MariaDB…
  • 运行你自己的栈:Memcached, HHVM, RabbitMQ…
  • 每个软件运行在自己的容器上:PHP-FPM, NGINX, PHP-CLI…
  • 易于自定义任何容器,对 Dockerfile 进行简单的编辑。
  • 所有的映像从一个官方的基础映像扩展。(可信的基础映像)。
  • 预配置NGINX,以便在根目录存放任何代码。
  • 可以在每个项目中使用Laradock,也可以在所有项目中使用单个Laradock。
  • 使用环境变量易于在容器中安装/删除软件。
  • 干净和结构良好的Dockerfiles ( Dockerfile )。
  • docker-compose 文件的最新版本( docker-compose )。
  • 所有内容都是可见和可编辑的。
  • 快速映像构建。

快速概览

我们来看看如何简单地设置我们的演示技术栈 PHP , NGINX , MySQL , RedisComposer
1 - 在你的PHP项目中克隆Laradock:

  1. git clone https://github.com/Laradock/laradock.git

2 - 进入 laradock 文件夹,将 env-example 重命名为 .env

  1. cp env-example .env

3 - 运行你的容器

  1. docker-compose up -d nginx mysql phpmyadmin redis workspace

4 -打开你项目的 .env 文件,设置以下内容:

  1. DB_HOST=mysql
  2. REDIS_HOST=redis
  3. QUEUE_HOST=beanstalkd

5 - 打开浏览器,访问 localhost: http://localhost

  1. 就是这样!享受吧:)

已支持的服务

Laradock,坚持“关注点分离”原则,因此它在自己的Docker容器上运行每个软件。您可以打开/关闭任意多个实例,而不必担心配置问题。

要运行下面列表中选择的容器,运行 docker-compose up -d {container-name} 。容器名 {container-name} 与文件夹名相同。例如运行” PHP FPM “容器,使用”php-fpm”。

  • 网站服务器:
    • NGINX
    • Apache2
    • Caddy
  • 负载均衡器:
    • HAProxy
    • Traefik
  • PHP 编译器:
    • PHP FPM
    • HHVM
  • 数据库管理系统:
    • MySQL
    • PostgreSQL
      • PostGIS
    • MariaDB
    • Percona
    • MSSQL
    • MongoDB
      • MongoDB Web UI
    • Neo4j
    • CouchDB
    • RethinkDB
    • Cassandra
  • 数据库管理应用:
    • PhpMyAdmin
    • Adminer
    • PgAdmin
  • 缓存引擎:
    • Redis
      • Redis Web UI
      • Redis Cluster
    • Memcached
    • Aerospike
    • Varnish
  • 消息代理:
    • RabbitMQ
      • RabbitMQ Admin Console
    • Beanstalkd
      • Beanstalkd Admin Console
    • Eclipse Mosquitto
    • PHP Worker
    • Laravel Horizon
    • Gearman
    • Amazon Simple Queue Service
  • 邮件服务器:
    • Mailu
    • MailCatcher
    • Mailhog
    • MailDev
  • 日志管理:
    • GrayLog
  • 测试:
    • Selenium
  • 监控:
    • Grafana
    • NetData
  • 搜索引擎:
    • ElasticSearch
    • Apache Solr
    • Manticore Search
  • IDE工具:
    • ICE Coder
    • Theia
    • Web IDE
  • 杂项:
    • Workspace (包含一组丰富的预先配置的有用工具的Laradock容器)
      • PHP CLI
      • Composer
      • Git
      • Vim
      • xDebug
      • Linuxbrew
      • Node
      • V8JS
      • Gulp
      • SQLite
      • Laravel Envoy
      • Deployer
      • Yarn
      • SOAP
      • Drush
      • Wordpress CLI
  • Apache ZooKeeper (分布式系统到分层键值存储的集中式服务)
  • Kibana (可视化你的 Elasticsearch 数据和导航Elastic Stack)
  • Dejavu (编辑 Elasticsearch数据)
  • LogStash (服务器端数据处理管道,同时从多个数据源获取数据 )
  • Jenkins (自动化服务器,提供支持构建、部署和自动化任何项目的插件)
  • Certbot (自动在你的网站上启用HTTPS)
  • Swoole (面向PHP的生产级异步编程框架)
  • SonarQube (对代码质量的持续检查,通过对代码的静态分析来自动检查,以发现bug等)
  • Gitlab (整个软件开发生命周期的单一应用程序)
  • PostGIS (PostgreSQL的数据库扩展.它增加了对地理对象的支持,允许在SQL中查询位置)
  • Blackfire (授权所有PHP开发人员和IT/Ops持续验证和改进他们的应用程序的性能)
  • Laravel Echo (将WebSockets的强大功能带入你的Laravel应用中)
  • Mercure (服务器发送事件)
  • Phalcon (一个基于MVC模式的PHP web框架)
  • Minio (在Apache License v2下发布的,兼容Amazon S3)
  • AWS EB CLI (帮助你部署和管理AWS弹性Beanstalk应用和环境的CLI)
  • Thumbor (照片缩略图服务)
  • IPython (为交互式计算提供了丰富的体系结构)
  • Jupyter Hub (适用于多个用户的Jupter notebook)
  • Portainer (轻松构建和管理Docker环境)
  • Docker Registry (用于存储和分发Docker镜像的Docker注册表实现)
  • Docker Web UI (一个基于浏览器的浏览和修改私有Docker注册表的解决方案)

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

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

如果你在列表中找不到你的软件,你可以自己构建它并提交它。欢迎投稿:)