Intro.md 19 KB


sidebar_position: 1

title: Introduction

Docker Image

Laradock is a full PHP development environment for Docker.

We offer a range of popular, pre-configured services that provide a ready-to-use PHP development environment in seconds.


Use Docker First - Learn About It Later!


Features

  • Seamless PHP Version Switching: Effortlessly switch between PHP versions (8.1, 8.0, 7.4, 7.3, 7.2, 7.1, 5.6...).
  • Flexible Database Choices: Pick your preferred database engine, whether it's MySQL, Postgres, MariaDB, and more.
  • Customizable Stacks: Run your own stack with services like Memcached, HHVM, RabbitMQ, and more.
  • Isolated Containers: Each software runs in its own container, ensuring clean separation and easy management.
  • Simple Customization: Easily tweak any container by editing its Dockerfile.
  • Trusted Base Images: All images extend from official base images, ensuring reliability and security.
  • Pre-configured Web Servers: Ready-to-use NGINX setup to host your code right from the root directory.
  • Project Flexibility: Use Laradock per project or a single Laradock setup for all your projects.
  • Environment Variable Management: Easily install or remove software in containers using environment variables.
  • Clean Dockerfiles: Well-structured and easy-to-understand Dockerfiles (Dockerfile).
  • Latest Docker Compose: Always up-to-date with the latest version of the Docker Compose file (docker-compose).
  • Full Transparency: Everything is visible and editable, giving you full control over your environment.
  • Fast Builds: Enjoy quick image builds to get your environment up and running in no time.

Supported Services

Laradock, adheres to the 'separation of concerns' principle, thus it runs each software on its own Docker Container. You can turn On/Off as many instances as you want without worrying about the configurations.

To run a chosen container from the list below, run docker-compose up -d {container-name}. The container name {container-name} is the same as its folder name. Example to run the "PHP FPM" container, use the name "php-fpm".

Category Services (Containers)
Web Servers NGINX, Apache2, Caddy
Load Balancers HAProxy, Traefik
PHP Compilers PHP FPM, HHVM
Database Management Systems MySQL, PostgreSQL (PostGIS), MariaDB, Percona, MSSQL, MongoDB, Neo4j, CouchDB, RethinkDB, Cassandra
Database Management Tools PhpMyAdmin, Adminer, PgAdmin, MongoDB Web UI
Cache Engines Redis, Redis Web UI, Redis Cluster, Memcached, Aerospike, Varnish
Message Brokers RabbitMQ, RabbitMQ Admin Console, Beanstalkd, Beanstalkd Admin Console, Eclipse Mosquitto, Gearman
Log Management GrayLog, Kibana, LogStash
Search Engines ElasticSearch, Apache Solr, Manticore Search, Dejavu
PHP Extensions Swoole, Blackfire, Phalcon, PHP Worker, Laravel Horizon
Mail Servers Mailu, MailCatcher, Mailhog, MailDev
Real-time Communication Laravel Echo, Mercure
Monitoring Grafana, NetData
Coordination Services Apache ZooKeeper
Container Management Portainer, Docker Registry, Docker Web UI
CI/CD Tools Jenkins, SonarQube, Gitlab
Cloud Tools AWS EB CLI, Amazon Simple Queue Service
Image Processing Thumbor
Interactive Computing IPython, Jupyter Hub
Security Tools Certbot
Object Storage Minio
Testing Selenium
IDEs ICE Coder, Theia, Web IDE
(Laradock Workspace) PHP CLI, Composer, Git, Vim, xDebug, Linuxbrew, Node, V8JS, Gulp, SQLite, Laravel Envoy, Deployer, Yarn, SOAP, Drush, Wordpress CLI, dnsutils

You can choose, which tools to install in your workspace container and other containers, from the .env file.

If you modify docker-compose.yml, .env or any dockerfile file, you must re-build your containers, to see those effects in the running instance.

If you can't find your Software in the list, build it yourself and submit it. Contributions are welcomed :)

Quick Overview

Let's see how easy it is to setup our demo stack PHP, NGINX, MySQL, Redis and Composer:

1 - Clone Laradock inside your PHP project:

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

2 - Enter the laradock folder and rename .env.example to .env.

cp .env.example .env

3 - Run your containers:

docker-compose up -d nginx mysql phpmyadmin redis workspace 

4 - Open your project's .env file and set the following:

DB_HOST=mysql
REDIS_HOST=redis
QUEUE_HOST=beanstalkd

5 - Open your browser and visit localhost: http://localhost.

That's it! enjoy :)

Awesome People

Laradock is an MIT-licensed open source project with its ongoing development made possible entirely by the support of you and all these awesome people. 💜

Project Maintainers


Mahmoud Zalt
@mahmoudz

Bo-Yi Wu
@appleboy

Philippe Trépanier
@philtrep

Mike Erickson
@mikeerickson

Dwi Fahni Denni
@zeroc0d3

Thor Erik
@thorerik

Winfried van Loon
@winfried-van-loon

TJ Miller
@sixlive

Yu-Lung Shao (Allen)
@bestlong

Milan Urukalo
@urukalo

Vince Chu
@vwchu

Huadong Zuo
@zuohuadong

Lan Phan
@lanphan

Ahkui
@ahkui

< Join Us >
@laradock

Code Contributors

Laradock Contributors

Financial Contributors (Backers)

Open Collective backers


Sponsors

Diamond Sponsors

Gold Sponsors

<!-- <iframe

src="https://opencollective.com/laradock/tiers/gold-sponsors.svg?avatarHeight=120&width=800&format=svg&button=false&background=#1B1B1D" 
width="800"
height="200"
style={{ border: 'none', backgroundColor: '#1B1B1D' }}>

-->

Silver Sponsors

<iframe

src="https://opencollective.com/laradock/tiers/silver-sponsors.svg?avatarHeight=90&width=800&format=svg&button=false&background=#1B1B1D&isActive=true" 
width="800"
height="200"
style={{ border: 'none', backgroundColor: '#1B1B1D' }}>

Bronze Sponsors

<iframe

src="https://opencollective.com/laradock/tiers/bronze-sponsors.svg?avatarHeight=55&width=800&format=svg&button=false&background=#1B1B1D&isActive=true" 
width="800"
height="300"
style={{ border: 'none', backgroundColor: '#1B1B1D' }}>

Sponsorship Support

Sponsoring is an act of giving in a unique way. 🌱
You can support us using any of the methods below:

1: Open Collective
Available for all tiers: Gold, Silver, Bronze, and Backers (Financial Contributors). Preferred method.

2: Email
Available for Diamond sponsors only.

3: GitHub Sponsors
Supports the creator of the project directly: Ideal for personal support of the project creator.

License

MIT © Mahmoud Zalt