|
1 | 1 | --- |
2 | | -title: Overview |
| 2 | +title: Welcome |
3 | 3 | type: index |
4 | | -weight: 1 |
| 4 | +weight: 0 |
5 | 5 | --- |
6 | | - |
7 | | -LaraDock strives to make the PHP development experience easier and faster. |
8 | | - |
9 | | -It contains pre-packaged Docker Images that provides you a wonderful *development* environment without requiring you to install PHP, NGINX, MySQL, Redis, and any other software on your machines. |
10 | | - |
11 | | -LaraDock is configured to run Laravel Apps by default, and it can be modified to run all kinds of PHP Apps (Symfony, CodeIgniter, WordPress, Drupal...). |
12 | | - |
13 | | - |
14 | | - |
15 | | - |
16 | | -## Quick Overview: |
17 | | - |
18 | | -Let's see how easy it is to install `NGINX`, `PHP`, `Composer`, `MySQL`, `Redis` and `beanstalkd`: |
19 | | - |
20 | | -1 - Clone LaraDock inside your PHP project: |
21 | | - |
22 | | -```shell |
23 | | -git clone https://github.com/Laradock/laradock.git |
24 | | -``` |
25 | | - |
26 | | -2 - Enter the laradock folder and run this command: |
27 | | - |
28 | | -```shell |
29 | | -docker-compose up -d nginx mysql redis beanstalkd |
30 | | -``` |
31 | | - |
32 | | -3 - Open your `.env` file and set the following: |
33 | | - |
34 | | -```shell |
35 | | -DB_HOST=mysql |
36 | | -REDIS_HOST=redis |
37 | | -QUEUE_HOST=beanstalkd |
38 | | -``` |
39 | | - |
40 | | -4 - Open your browser and visit localhost: `http://localhost`. |
41 | | - |
42 | | -```shell |
43 | | -That's it! enjoy :) |
44 | | -``` |
45 | | -
|
46 | | -
|
47 | | -
|
48 | | -
|
49 | | -
|
50 | | -
|
51 | | -
|
52 | | -<a name="what-is-docker"></a> |
53 | | -## What is Docker? |
54 | | -
|
55 | | -[Docker](https://www.docker.com) is an open-source project that automates the deployment of applications inside software containers, by providing an additional layer of abstraction and automation of [operating-system-level virtualization](https://en.wikipedia.org/wiki/Operating-system-level_virtualization) on Linux, Mac OS and Windows. |
56 | | -
|
57 | | -
|
58 | | -
|
59 | | -
|
60 | | -
|
61 | | -
|
62 | | -<a name="why-docker-not-vagrant"></a> |
63 | | -## Why Docker not Vagrant!? |
64 | | -
|
65 | | -[Vagrant](https://www.vagrantup.com) creates Virtual Machines in minutes while Docker creates Virtual Containers in seconds. |
66 | | -
|
67 | | -Instead of providing a full Virtual Machines, like you get with Vagrant, Docker provides you **lightweight** Virtual Containers, that share the same kernel and allow to safely execute independent processes. |
68 | | -
|
69 | | -In addition to the speed, Docker gives tons of features that cannot be achieved with Vagrant. |
70 | | -
|
71 | | -Most importantly Docker can run on Development and on Production (same environment everywhere). While Vagrant is designed for Development only, (so you have to re-provision your server on Production every time). |
72 | | -
|
73 | | -
|
74 | | -
|
75 | | -
|
76 | | -
|
77 | | -
|
78 | | -<a name="laradock-vs-homestead"></a> |
79 | | -## LaraDock VS Homestead (For Laravel Developers) |
80 | | -
|
81 | | -> LaraDock It's like Laravel Homestead but for Docker instead of Vagrant. |
82 | | - |
83 | | -LaraDock and [Homestead](https://laravel.com/docs/master/homestead) both give you complete virtual development environments. (Without the need to install and configure every single software on your own Operating System). |
84 | | - |
85 | | -- Homestead is a tool that controls Vagrant for you (using Homestead special commands). And Vagrant manages your Virtual Machine. |
86 | | - |
87 | | -- LaraDock is a tool that controls Docker for you (using Docker & Docker Compose official commands). And Docker manages your Virtual Containers. |
88 | | - |
89 | | -Running a virtual container is much faster than running a full virtual Machine. Thus **LaraDock is much faster than Homestead**. |
90 | | - |
91 | | - |
92 | | - |
93 | | - |
94 | | - |
95 | | - |
96 | | - |
97 | | - |
98 | | -<a name="Demo"></a> |
99 | | -## Demo Video |
100 | | - |
101 | | -What's better than a **Demo Video**: |
102 | | -
|
103 | | -- LaraDock [v4.*](https://www.youtube.com/watch?v=TQii1jDa96Y) |
104 | | -- LaraDock [v2.*](https://www.youtube.com/watch?v=-DamFMczwDA) |
105 | | -- LaraDock [v0.3](https://www.youtube.com/watch?v=jGkyO6Is_aI) |
106 | | -- LaraDock [v0.1](https://www.youtube.com/watch?v=3YQsHe6oF80) |
107 | | -
|
108 | | -
|
109 | | -
|
110 | | -
|
111 | | -
|
112 | | -
|
113 | | -
|
114 | | -<a name="features"></a> |
115 | | -## Features |
116 | | -
|
117 | | -- Easy switch between PHP versions: 7.0, 5.6, 5.5... |
118 | | -- Choose your favorite database engine: MySQL, Postgres, MariaDB... |
119 | | -- Run your own combination of software: Memcached, HHVM, Beanstalkd... |
120 | | -- Every software runs on a separate container: PHP-FPM, NGINX, PHP-CLI... |
121 | | -- Easy to customize any container, with simple edit to the `Dockerfile`. |
122 | | -- All Images extends from an official base Image. (Trusted base Images). |
123 | | -- Pre-configured NGINX for Laravel. |
124 | | -- Easy to apply configurations inside containers. |
125 | | -- Clean and well structured Dockerfiles (`Dockerfile`). |
126 | | -- Latest version of the Docker Compose file (`docker-compose`). |
127 | | -- Everything is visible and editable. |
128 | | -- Fast Images Builds. |
129 | | -- More to come every week.. |
130 | | -
|
131 | | -
|
132 | | -
|
133 | | -
|
134 | | -
|
135 | | -
|
136 | | -
|
137 | | -<a name="Supported-Containers"></a> |
138 | | -## Supported Software (Containers) |
139 | | -
|
140 | | -- **Database Engines:** |
141 | | - - MySQL |
142 | | - - PostgreSQL |
143 | | - - MariaDB |
144 | | - - MongoDB |
145 | | - - Neo4j |
146 | | - - RethinkDB |
147 | | -- **Cache Engines:** |
148 | | - - Redis |
149 | | - - Memcached |
150 | | - - Aerospike |
151 | | -- **PHP Servers:** |
152 | | - - NGINX |
153 | | - - Apache2 |
154 | | - - Caddy |
155 | | -- **PHP Compilers:** |
156 | | - - PHP-FPM |
157 | | - - HHVM |
158 | | -- **Message Queuing Systems:** |
159 | | - - Beanstalkd |
160 | | - - Beanstalkd Console |
161 | | - - RabbitMQ |
162 | | - - RabbitMQ Console |
163 | | -- **Tools:** |
164 | | - - PhpMyAdmin |
165 | | - - PgAdmin |
166 | | - - ElasticSearch |
167 | | - - Selenium |
168 | | - - Workspace |
169 | | - - PHP7-CLI |
170 | | - - Composer |
171 | | - - Git |
172 | | - - Linuxbrew |
173 | | - - Node |
174 | | - - Gulp |
175 | | - - SQLite |
176 | | - - xDebug |
177 | | - - Envoy |
178 | | - - Deployer |
179 | | - - Vim |
180 | | - - Yarn |
181 | | - - ... Many other supported tools are not documented. (Will be updated soon) |
182 | | -
|
183 | | ->If you can't find your Software, build it yourself and add it to this list. Contributions are welcomed :) |
184 | | - |
185 | | - |
186 | | - |
187 | | - |
188 | | - |
189 | | - |
190 | | - |
191 | | -<a name="Chat"></a> |
192 | | -## Chat with us |
193 | | - |
194 | | -You are welcome to join our chat room on Gitter. |
195 | | - |
196 | | -[](https://gitter.im/LaraDock/laradock?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) |
0 commit comments