Compare commits
54 Commits
Author | SHA1 | Date | |
---|---|---|---|
c5105c29b6 | |||
4dda815980 | |||
a6ff3d0666 | |||
0549936547 | |||
407353e6eb | |||
f30e36bc93 | |||
b9716e7fef | |||
cc520c18b5 | |||
c67fa5b258 | |||
3d6b6ba271 | |||
677b9170ca | |||
92511ab8a8 | |||
5b9dd242f3 | |||
a91bd19739 | |||
ba32dedbef | |||
df87c3e36b | |||
425d344e97 | |||
73ebc1effa | |||
bb8bf6ae10 | |||
5f3e0a9109 | |||
f7090a47a4 | |||
8ffb0ff3e3 | |||
f14b3b32cf | |||
3a8bd8a015 | |||
efc23a693d | |||
1235304a0d | |||
13952f3468 | |||
4a88cbc17a | |||
dc71a125c3 | |||
5d1660567c | |||
57ee5d96a4 | |||
919e0a75cd | |||
43ace2bebe | |||
07ad461e75 | |||
9f4aaa9bc7 | |||
ae01a9fd49 | |||
94a383bea9 | |||
375f733def | |||
74efa008da | |||
5a496bafeb | |||
3a7e6e4b1a | |||
f3598c3c97 | |||
4fd73ac512 | |||
747f956d01 | |||
1519d2c64c | |||
43f4f80836 | |||
ca7726c441 | |||
c78eb5228a | |||
81053c0868 | |||
b1367d237f | |||
603207cc2b | |||
43e2b3e403 | |||
f69422e82f | |||
597f922db7 |
25
.travis.yml
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
language: bash
|
||||||
|
sudo: required
|
||||||
|
services:
|
||||||
|
- docker
|
||||||
|
|
||||||
|
env:
|
||||||
|
matrix:
|
||||||
|
- PHP_VERSION=56
|
||||||
|
- PHP_VERSION=70
|
||||||
|
- PHP_VERSION=71
|
||||||
|
- HUGO_VERSION=0.19
|
||||||
|
|
||||||
|
script: ./_scripts/travis-build.sh
|
||||||
|
|
||||||
|
deploy:
|
||||||
|
provider: pages
|
||||||
|
skip_cleanup: true
|
||||||
|
local_dir: docs
|
||||||
|
github_token: $GITHUB_TOKEN
|
||||||
|
on:
|
||||||
|
branch: master
|
||||||
|
condition: -n "${HUGO_VERSION}"
|
||||||
|
|
||||||
|
notifications:
|
||||||
|
email: false
|
Before Width: | Height: | Size: 246 KiB |
Before Width: | Height: | Size: 84 KiB |
Before Width: | Height: | Size: 254 KiB |
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 145 KiB |
@ -1,6 +1,6 @@
|
|||||||
baseurl = "http://laradock.io/"
|
baseurl = "http://laradock.io/"
|
||||||
languageCode = "en-us"
|
languageCode = "en-us"
|
||||||
publishDir = "../../docs"
|
publishDir = "../docs"
|
||||||
title = "Laradock"
|
title = "Laradock"
|
||||||
theme = "hugo-material-docs"
|
theme = "hugo-material-docs"
|
||||||
metadataformat = "yaml"
|
metadataformat = "yaml"
|
||||||
@ -11,7 +11,7 @@ googleAnalytics = "UA-37514928-9"
|
|||||||
[params]
|
[params]
|
||||||
# General information
|
# General information
|
||||||
author = "Mahmoud Zalt"
|
author = "Mahmoud Zalt"
|
||||||
description = "Laradock documentations."
|
description = "Full PHP development environment for Docker."
|
||||||
copyright = ""
|
copyright = ""
|
||||||
|
|
||||||
# Repository
|
# Repository
|
||||||
@ -19,7 +19,7 @@ googleAnalytics = "UA-37514928-9"
|
|||||||
repo_url = ""
|
repo_url = ""
|
||||||
|
|
||||||
version = ""
|
version = ""
|
||||||
logo = ""
|
logo = "images/logo.png"
|
||||||
favicon = ""
|
favicon = ""
|
||||||
|
|
||||||
permalink = "#"
|
permalink = "#"
|
||||||
@ -62,8 +62,8 @@ googleAnalytics = "UA-37514928-9"
|
|||||||
weight = 3
|
weight = 3
|
||||||
|
|
||||||
[[menu.main]]
|
[[menu.main]]
|
||||||
name = "Related Projects"
|
name = "Guides"
|
||||||
url = "related-projects/"
|
url = "guides/"
|
||||||
weight = 4
|
weight = 4
|
||||||
|
|
||||||
[[menu.main]]
|
[[menu.main]]
|
||||||
@ -71,15 +71,20 @@ googleAnalytics = "UA-37514928-9"
|
|||||||
url = "help/"
|
url = "help/"
|
||||||
weight = 5
|
weight = 5
|
||||||
|
|
||||||
|
[[menu.main]]
|
||||||
|
name = "Related Projects"
|
||||||
|
url = "related-projects/"
|
||||||
|
weight = 6
|
||||||
|
|
||||||
[[menu.main]]
|
[[menu.main]]
|
||||||
name = "Contributing"
|
name = "Contributing"
|
||||||
url = "contributing/"
|
url = "contributing/"
|
||||||
weight = 6
|
weight = 7
|
||||||
|
|
||||||
[[menu.main]]
|
[[menu.main]]
|
||||||
name = "License"
|
name = "License"
|
||||||
url = "license/"
|
url = "license/"
|
||||||
weight = 7
|
weight = 8
|
||||||
|
|
||||||
# ------- MENU END -----------------------------------------
|
# ------- MENU END -----------------------------------------
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
title: Contributing
|
title: Contributing
|
||||||
type: index
|
type: index
|
||||||
weight: 6
|
weight: 7
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
@ -38,17 +38,23 @@ You can request a new feature by submitting an [Issue](https://github.com/larado
|
|||||||
|
|
||||||
Laradock uses [Hugo](https://gohugo.io/) as website generator tool, with the [Material Docs theme](http://themes.gohugo.io/theme/material-docs/). You might need to check their docs quickly.
|
Laradock uses [Hugo](https://gohugo.io/) as website generator tool, with the [Material Docs theme](http://themes.gohugo.io/theme/material-docs/). You might need to check their docs quickly.
|
||||||
|
|
||||||
|
Go the `DOCUMENTATION/content` and search for the markdown file you want to edit
|
||||||
|
|
||||||
1. Install [Hugo](https://gohugo.io/) on your machine (easy thing).
|
Note: Every folder represents a section in the sidebar "Menu". And every page and sidebar has a `weight` number to show it's position in the site.
|
||||||
2. Open the `DOCUMENTATION/_settings/content` and search for the markdown file you want to edit (every folder represents a section in the menu).
|
|
||||||
3. Delete the `/docs` folder from the root.
|
To update the sidebar or add a new section to it, you can edit this `DOCUMENTATION/config.toml` toml file.
|
||||||
4. When you finish editing, go to `DOCUMENTATION/_settings/` and run the `hugo` command to generate the HTML docs (inside new `/docs` folder).
|
|
||||||
|
> The site will be auto-generated in the `docs/` folder by [Travis CI](https://travis-ci.org/laradock/laradock/).
|
||||||
|
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
### To Host the website locally
|
### To Host the website locally
|
||||||
Go to `DOCUMENTATION/_settings` in your terminal and run `hugo serve` to host the website locally.
|
|
||||||
|
|
||||||
### Edit the sidebar
|
1. Install [Hugo](https://gohugo.io/) on your machine.
|
||||||
To add a new section to the sidebar or edit existing one, you need to edit this file `DOCUMENTATION/_settings/config.toml`.
|
2. Edit the `DOCUMENTATION/content`.
|
||||||
|
3. Delete the `/docs` folder from the root.
|
||||||
|
4. After you finish the editing, go to `DOCUMENTATION/` and run the `hugo` command to generate the HTML docs (inside a new `/docs` folder).
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -166,9 +166,7 @@ docker-compose up -d nginx mysql
|
|||||||
**Note**: The `workspace` and `php-fpm` will run automatically in most of the cases, so no need to specify them in the `up` command. If you couldn't find them running then you need specify them as follow: `docker-compose up -d nginx php-fpm mysql workspace`.
|
**Note**: The `workspace` and `php-fpm` will run automatically in most of the cases, so no need to specify them in the `up` command. If you couldn't find them running then you need specify them as follow: `docker-compose up -d nginx php-fpm mysql workspace`.
|
||||||
|
|
||||||
|
|
||||||
You can select your own combination of containers form the list below:
|
You can select your own combination of containers form [this list](http://laradock.io/introduction/#supported-software-images).
|
||||||
|
|
||||||
> `nginx`, `hhvm`, `php-fpm`, `mysql`, `redis`, `postgres`, `mariadb`, `neo4j`, `mongo`, `apache2`, `caddy`, `memcached`, `beanstalkd`, `beanstalkd-console`, `rabbitmq`, `beanstalkd-console`, `workspace`, `phpmyadmin`, `adminer`, `aerospike`, `pgadmin`, `elasticsearch`, `rethinkdb`, `postgres-postgis`, `certbot`, `mailhog`, `minio` and more...!
|
|
||||||
|
|
||||||
*(Please note that sometimes we forget to update the docs, so check the `docker-compose.yml` file to see an updated list of all available containers).*
|
*(Please note that sometimes we forget to update the docs, so check the `docker-compose.yml` file to see an updated list of all available containers).*
|
||||||
|
|
@ -1,49 +1,293 @@
|
|||||||
# PHPStorm Debugging Guide
|
---
|
||||||
|
title: Guides
|
||||||
|
type: index
|
||||||
|
weight: 4
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
* [Production Setup on Digital Ocean](#Digital-Ocean)
|
||||||
|
* [PHPStorm XDebug Setup](#PHPStorm-Debugging)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a name="Digital-Ocean"></a>
|
||||||
|
# Production Setup on Digital Ocean
|
||||||
|
|
||||||
|
## Install Docker
|
||||||
|
|
||||||
|
- Visit [DigitalOcean](https://cloud.digitalocean.com/login) and login.
|
||||||
|
- Click the `Create Droplet` button.
|
||||||
|
- Open the `One-click apps` tab.
|
||||||
|
- Select Docker with your preferred version.
|
||||||
|
- Continue creating the droplet as you normally would.
|
||||||
|
- If needed, check your e-mail for the droplet root password.
|
||||||
|
|
||||||
|
## SSH to your Server
|
||||||
|
|
||||||
|
Find the IP address of the droplet in the DigitalOcean interface. Use it to connect to the server.
|
||||||
|
|
||||||
|
```
|
||||||
|
ssh root@ipaddress
|
||||||
|
```
|
||||||
|
|
||||||
|
You may be prompted for a password. Type the one you found within your e-mailbox. It'll then ask you to change the password.
|
||||||
|
|
||||||
|
You can now check if Docker is available:
|
||||||
|
|
||||||
|
```
|
||||||
|
$root@server:~# docker
|
||||||
|
```
|
||||||
|
|
||||||
|
## Set Up Your Laravel Project
|
||||||
|
|
||||||
|
```
|
||||||
|
$root@server:~# apt-get install git
|
||||||
|
$root@server:~# git clone https://github.com/laravel/laravel
|
||||||
|
$root@server:~# cd laravel
|
||||||
|
$root@server:~/laravel/ git submodule add https://github.com/LaraDock/laradock.git
|
||||||
|
$root@server:~/laravel/ cd laradock
|
||||||
|
```
|
||||||
|
|
||||||
|
## Install docker-compose command
|
||||||
|
|
||||||
|
```
|
||||||
|
$root@server:~/laravel/laradock# curl -L https://github.com/docker/compose/releases/download/1.8.0/run.sh > /usr/local/bin/docker-compose
|
||||||
|
$root@server:~/chmod +x /usr/local/bin/docker-compose
|
||||||
|
```
|
||||||
|
|
||||||
|
## Create Your LaraDock Containers
|
||||||
|
|
||||||
|
```
|
||||||
|
$root@server:~/laravel/laradock# docker-compose up -d nginx mysql
|
||||||
|
```
|
||||||
|
|
||||||
|
Note that more containers are available, find them in the [docs](http://laradock.io/introduction/#supported-software-containers) or the `docker-compose.yml` file.
|
||||||
|
|
||||||
|
## Go to Your Workspace
|
||||||
|
|
||||||
|
```
|
||||||
|
docker-compose exec workspace bash
|
||||||
|
```
|
||||||
|
|
||||||
|
## Install and configure Laravel
|
||||||
|
|
||||||
|
Let's install Laravel's dependencies, add the `.env` file, generate the key and give proper permissions to the cache folder.
|
||||||
|
|
||||||
|
```
|
||||||
|
$ root@workspace:/var/www# composer install
|
||||||
|
$ root@workspace:/var/www# cp .env.example .env
|
||||||
|
$ root@workspace:/var/www# php artisan key:generate
|
||||||
|
$ root@workspace:/var/www# exit
|
||||||
|
$root@server:~/laravel/laradock# cd ..
|
||||||
|
$root@server:~/laravel# sudo chmod -R 777 storage bootstrap/cache
|
||||||
|
```
|
||||||
|
|
||||||
|
You can then view your Laravel site by visiting the IP address of your server in your browser. For example:
|
||||||
|
|
||||||
|
```
|
||||||
|
http://192.168.1.1
|
||||||
|
```
|
||||||
|
|
||||||
|
It should show you the Laravel default welcome page.
|
||||||
|
|
||||||
|
However, we want it to show up using your custom domain name, as well.
|
||||||
|
|
||||||
|
## Using Your Own Domain Name
|
||||||
|
|
||||||
|
Login to your DNS provider, such as Godaddy, Namecheap.
|
||||||
|
|
||||||
|
Point the Custom Domain Name Server to:
|
||||||
|
|
||||||
|
```
|
||||||
|
ns1.digitalocean.com
|
||||||
|
ns2.digitalocean.com
|
||||||
|
ns3.digitalocean.com
|
||||||
|
```
|
||||||
|
|
||||||
|
Within DigitalOcean, you'll need to change some settings, too.
|
||||||
|
|
||||||
|
Visit: https://cloud.digitalocean.com/networking/domains
|
||||||
|
|
||||||
|
Add your domain name and choose the server IP you'd provision earlier.
|
||||||
|
|
||||||
|
## Serving Site With NGINX (HTTP ONLY)
|
||||||
|
|
||||||
|
Go back to command line.
|
||||||
|
|
||||||
|
```
|
||||||
|
$root@server:~/laravel/laradock# cd nginx
|
||||||
|
$root@server:~/laravel/laradock/nginx# vim laravel.conf
|
||||||
|
```
|
||||||
|
|
||||||
|
Remove `default_server`
|
||||||
|
|
||||||
|
```
|
||||||
|
listen 80 default_server;
|
||||||
|
listen [::]:80 default_server ipv6only=on;
|
||||||
|
```
|
||||||
|
|
||||||
|
And add `server_name` (your custom domain)
|
||||||
|
|
||||||
|
```
|
||||||
|
listen 80;
|
||||||
|
listen [::]:80 ipv6only=on;
|
||||||
|
server_name yourdomain.com;
|
||||||
|
```
|
||||||
|
|
||||||
|
## Rebuild Your Nginx
|
||||||
|
|
||||||
|
```
|
||||||
|
$root@server:~/laravel/laradock/nginx# docker-compose down
|
||||||
|
$root@server:~/laravel/laradock/nginx# docker-compose build nginx
|
||||||
|
```
|
||||||
|
|
||||||
|
## Re Run Your Containers MYSQL and NGINX
|
||||||
|
|
||||||
|
```
|
||||||
|
$root@server:~/laravel/laradock/nginx# docker-compose up -d nginx mysql
|
||||||
|
```
|
||||||
|
|
||||||
|
**View Your Site with HTTP ONLY (http://yourdomain.com)**
|
||||||
|
|
||||||
|
## Run Site on SSL with Let's Encrypt Certificate
|
||||||
|
|
||||||
|
**Note: You need to Use Caddy here Instead of Nginx**
|
||||||
|
|
||||||
|
To go Caddy Folders and Edit CaddyFile
|
||||||
|
|
||||||
|
```
|
||||||
|
$root@server:~/laravel/laradock# cd caddy
|
||||||
|
$root@server:~/laravel/laradock/caddy# vim Caddyfile
|
||||||
|
```
|
||||||
|
|
||||||
|
Remove 0.0.0.0:80
|
||||||
|
|
||||||
|
```
|
||||||
|
0.0.0.0:80
|
||||||
|
root /var/www/public
|
||||||
|
```
|
||||||
|
|
||||||
|
and replace with your https://yourdomain.com
|
||||||
|
|
||||||
|
```
|
||||||
|
https://yourdomain.com
|
||||||
|
root /var/www/public
|
||||||
|
```
|
||||||
|
|
||||||
|
uncomment tls
|
||||||
|
|
||||||
|
```
|
||||||
|
#tls self-signed
|
||||||
|
```
|
||||||
|
|
||||||
|
and replace self-signed with your email address
|
||||||
|
|
||||||
|
```
|
||||||
|
tls serverbreaker@gmai.com
|
||||||
|
```
|
||||||
|
|
||||||
|
This is needed Prior to Creating Let's Encypt
|
||||||
|
|
||||||
|
## Run Your Caddy Container without the -d flag and Generate SSL with Let's Encrypt
|
||||||
|
|
||||||
|
```
|
||||||
|
$root@server:~/laravel/laradock/caddy# docker-compose up caddy
|
||||||
|
```
|
||||||
|
|
||||||
|
You'll be prompt here to enter your email... you may enter it or not
|
||||||
|
|
||||||
|
```
|
||||||
|
Attaching to laradock_mysql_1, laradock_caddy_1
|
||||||
|
caddy_1 | Activating privacy features...
|
||||||
|
caddy_1 | Your sites will be served over HTTPS automatically using Let's Encrypt.
|
||||||
|
caddy_1 | By continuing, you agree to the Let's Encrypt Subscriber Agreement at:
|
||||||
|
caddy_1 | https://letsencrypt.org/documents/LE-SA-v1.0.1-July-27-2015.pdf
|
||||||
|
caddy_1 | Activating privacy features... done.
|
||||||
|
caddy_1 | https://yourdomain.com
|
||||||
|
caddy_1 | http://yourdomain.com
|
||||||
|
```
|
||||||
|
|
||||||
|
After it finishes, press `Ctrl` + `C` to exit.
|
||||||
|
|
||||||
|
## Stop All Containers and ReRun Caddy and Other Containers on Background
|
||||||
|
|
||||||
|
```
|
||||||
|
$root@server:~/laravel/laradock/caddy# docker-compose down
|
||||||
|
$root@server:~/laravel/laradock/caddy# docker-compose up -d mysql caddy
|
||||||
|
```
|
||||||
|
|
||||||
|
View your Site in the Browser Securely Using HTTPS (https://yourdomain.com)
|
||||||
|
|
||||||
|
**Note that Certificate will be Automatically Renew By Caddy**
|
||||||
|
|
||||||
|
>References:
|
||||||
|
>
|
||||||
|
- [https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04](https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04)
|
||||||
|
- [https://www.digitalocean.com/products/one-click-apps/docker/](https://www.digitalocean.com/products/one-click-apps/docker/)
|
||||||
|
- [https://docs.docker.com/engine/installation/linux/ubuntulinux/](https://docs.docker.com/engine/installation/linux/ubuntulinux/)
|
||||||
|
- [https://docs.docker.com/compose/install/](https://docs.docker.com/compose/install/)
|
||||||
|
- [https://caddyserver.com/docs/automatic-https](https://caddyserver.com/docs/automatic-https)
|
||||||
|
- [https://caddyserver.com/docs/tls](https://caddyserver.com/docs/tls)
|
||||||
|
- [https://caddyserver.com/docs/caddyfile](https://caddyserver.com/docs/caddyfile)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<a name="PHPStorm-Debugging"></a>
|
||||||
|
# PHPStorm XDebug Setup
|
||||||
|
|
||||||
- [Intro](#Intro)
|
- [Intro](#Intro)
|
||||||
- [Installation](#Installation)
|
- [Installation](#Installation)
|
||||||
- [Customize laradock/docker-compose.yml](#CustomizeDockerCompose)
|
- [Customize laradock/docker-compose.yml](#CustomizeDockerCompose)
|
||||||
- [Clean House](#InstallCleanHouse)
|
- [Clean House](#InstallCleanHouse)
|
||||||
- [LaraDock Dial Tone](#InstallLaraDockDialTone)
|
- [LaraDock Dial Tone](#InstallLaraDockDialTone)
|
||||||
- [hosts](#AddToHosts)
|
- [hosts](#AddToHosts)
|
||||||
- [Firewall](#FireWall)
|
- [Firewall](#FireWall)
|
||||||
- [Enable xDebug on php-fpm](#enablePhpXdebug)
|
- [Enable xDebug on php-fpm](#enablePhpXdebug)
|
||||||
- [PHPStorm Settings](#InstallPHPStorm)
|
- [PHPStorm Settings](#InstallPHPStorm)
|
||||||
- [Configs](#InstallPHPStormConfigs)
|
- [Configs](#InstallPHPStormConfigs)
|
||||||
- [Usage](#Usage)
|
- [Usage](#Usage)
|
||||||
- [Laravel](#UsageLaravel)
|
- [Laravel](#UsageLaravel)
|
||||||
- [Run ExampleTest](#UsagePHPStormRunExampleTest)
|
- [Run ExampleTest](#UsagePHPStormRunExampleTest)
|
||||||
- [Debug ExampleTest](#UsagePHPStormDebugExampleTest)
|
- [Debug ExampleTest](#UsagePHPStormDebugExampleTest)
|
||||||
- [Debug Web Site](#UsagePHPStormDebugSite)
|
- [Debug Web Site](#UsagePHPStormDebugSite)
|
||||||
- [SSH into workspace](#SSHintoWorkspace)
|
- [SSH into workspace](#SSHintoWorkspace)
|
||||||
- [KiTTY](#InstallKiTTY)
|
- [KiTTY](#InstallKiTTY)
|
||||||
|
|
||||||
<a name="Intro"></a>
|
<a name="Intro"></a>
|
||||||
## Intro
|
## Intro
|
||||||
|
|
||||||
Wiring up [Laravel](https://laravel.com/), [LaraDock](https://github.com/LaraDock/laradock) [Laravel+Docker] and [PHPStorm](https://www.jetbrains.com/phpstorm/) to play nice together complete with remote xdebug'ing as icing on top! Although this guide is based on `PHPStorm Windows`,
|
Wiring up [Laravel](https://laravel.com/), [LaraDock](https://github.com/LaraDock/laradock) [Laravel+Docker] and [PHPStorm](https://www.jetbrains.com/phpstorm/) to play nice together complete with remote xdebug'ing as icing on top! Although this guide is based on `PHPStorm Windows`,
|
||||||
you should be able to adjust accordingly. This guide was written based on Docker for Windows Native.
|
you should be able to adjust accordingly. This guide was written based on Docker for Windows Native.
|
||||||
|
|
||||||
<a name="Installation"></a>
|
<a name="Installation"></a>
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
- This guide assumes the following:
|
- This guide assumes the following:
|
||||||
- you have already installed and are familiar with Laravel, LaraDock and PHPStorm.
|
- you have already installed and are familiar with Laravel, LaraDock and PHPStorm.
|
||||||
- you have installed Laravel as a parent of `laradock`. This guide assumes `/c/_dk/laravel`.
|
- you have installed Laravel as a parent of `laradock`. This guide assumes `/c/_dk/laravel`.
|
||||||
|
|
||||||
<a name="AddToHosts"></a>
|
<a name="AddToHosts"></a>
|
||||||
## hosts
|
## hosts
|
||||||
- Add `laravel` to your hosts file located on Windows 10 at `C:\Windows\System32\drivers\etc\hosts`. It should be set to the IP of your running container. Mine is: `10.0.75.2`
|
- Add `laravel` to your hosts file located on Windows 10 at `C:\Windows\System32\drivers\etc\hosts`. It should be set to the IP of your running container. Mine is: `10.0.75.2`
|
||||||
On Windows you can find it by opening Windows `Hyper-V Manager`.
|
On Windows you can find it by opening Windows `Hyper-V Manager`.
|
||||||
- 
|
- 
|
||||||
|
|
||||||
- [Hosts File Editor](https://github.com/scottlerch/HostsFileEditor) makes it easy to change your hosts file.
|
- [Hosts File Editor](https://github.com/scottlerch/HostsFileEditor) makes it easy to change your hosts file.
|
||||||
- Set `laravel` to your docker host IP. See [Example](photos/SimpleHostsEditor/AddHost_laravel.png).
|
- Set `laravel` to your docker host IP. See [Example](photos/SimpleHostsEditor/AddHost_laravel.png).
|
||||||
|
|
||||||
|
|
||||||
<a name="FireWall"></a>
|
<a name="FireWall"></a>
|
||||||
## Firewall
|
## Firewall
|
||||||
Your PHPStorm will need to be able to receive a connection from PHP xdebug either your running workspace or php-fpm containers on port 9000. This means that your Windows Firewall should either enable connections from the Application PHPStorm OR the port.
|
Your PHPStorm will need to be able to receive a connection from PHP xdebug either your running workspace or php-fpm containers on port 9000. This means that your Windows Firewall should either enable connections from the Application PHPStorm OR the port.
|
||||||
|
|
||||||
- It is important to note that if the Application PHPStorm is NOT enabled in the firewall, you will not be able to recreate a rule to override that.
|
- It is important to note that if the Application PHPStorm is NOT enabled in the firewall, you will not be able to recreate a rule to override that.
|
||||||
- Also be aware that if you are installing/upgrade different versions of PHPStorm, you MAY have orphaned references to PHPStorm in your Firewall! You may decide to remove orphaned references however in either case, make sure that they are set to receive public TCP traffic.
|
- Also be aware that if you are installing/upgrade different versions of PHPStorm, you MAY have orphaned references to PHPStorm in your Firewall! You may decide to remove orphaned references however in either case, make sure that they are set to receive public TCP traffic.
|
||||||
@ -51,7 +295,7 @@ Your PHPStorm will need to be able to receive a connection from PHP xdebug eithe
|
|||||||
### Edit laradock/docker-compose.yml
|
### Edit laradock/docker-compose.yml
|
||||||
Set the following variables:
|
Set the following variables:
|
||||||
```
|
```
|
||||||
### Workspace Utilities Container ###########################
|
### Workspace Utilities Container ###############
|
||||||
|
|
||||||
workspace:
|
workspace:
|
||||||
build:
|
build:
|
||||||
@ -60,9 +304,9 @@ Set the following variables:
|
|||||||
- INSTALL_XDEBUG=true
|
- INSTALL_XDEBUG=true
|
||||||
- INSTALL_WORKSPACE_SSH=true
|
- INSTALL_WORKSPACE_SSH=true
|
||||||
...
|
...
|
||||||
|
|
||||||
|
|
||||||
### PHP-FPM Container #######################################
|
### PHP-FPM Container #####################
|
||||||
|
|
||||||
php-fpm:
|
php-fpm:
|
||||||
build:
|
build:
|
||||||
@ -70,7 +314,7 @@ Set the following variables:
|
|||||||
args:
|
args:
|
||||||
- INSTALL_XDEBUG=true
|
- INSTALL_XDEBUG=true
|
||||||
...
|
...
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Edit xdebug.ini files
|
### Edit xdebug.ini files
|
||||||
@ -91,13 +335,13 @@ xdebug.cli_color=1
|
|||||||
Make sure you are starting with a clean state. For example, do you have other LaraDock containers and images?
|
Make sure you are starting with a clean state. For example, do you have other LaraDock containers and images?
|
||||||
Here are a few things I use to clean things up.
|
Here are a few things I use to clean things up.
|
||||||
|
|
||||||
- Delete all containers using `grep laradock_` on the names, see: [Remove all containers based on docker image name](https://linuxconfig.org/remove-all-containners-based-on-docker-image-name).
|
- Delete all containers using `grep laradock_` on the names, see: [Remove all containers based on docker image name](https://linuxconfig.org/remove-all-containners-based-on-docker-image-name).
|
||||||
`docker ps -a | awk '{ print $1,$2 }' | grep laradock_ | awk '{print $1}' | xargs -I {} docker rm {}`
|
`docker ps -a | awk '{ print $1,$2 }' | grep laradock_ | awk '{print $1}' | xargs -I {} docker rm {}`
|
||||||
|
|
||||||
- Delete all images containing `laradock`.
|
- Delete all images containing `laradock`.
|
||||||
`docker images | awk '{print $1,$2,$3}' | grep laradock_ | awk '{print $3}' | xargs -I {} docker rmi {}`
|
`docker images | awk '{print $1,$2,$3}' | grep laradock_ | awk '{print $3}' | xargs -I {} docker rmi {}`
|
||||||
**Note:** This will only delete images that were built with `LaraDock`, **NOT** `laradock/*` which are pulled down by `LaraDock` such as `laradock/workspace`, etc.
|
**Note:** This will only delete images that were built with `LaraDock`, **NOT** `laradock/*` which are pulled down by `LaraDock` such as `laradock/workspace`, etc.
|
||||||
**Note:** Some may fail with:
|
**Note:** Some may fail with:
|
||||||
`Error response from daemon: conflict: unable to delete 3f38eaed93df (cannot be forced) - image has dependent child images`
|
`Error response from daemon: conflict: unable to delete 3f38eaed93df (cannot be forced) - image has dependent child images`
|
||||||
|
|
||||||
- I added this to my `.bashrc` to remove orphaned images.
|
- I added this to my `.bashrc` to remove orphaned images.
|
||||||
@ -107,7 +351,7 @@ Here are a few things I use to clean things up.
|
|||||||
if [ -n "$processes" ]; thend
|
if [ -n "$processes" ]; thend
|
||||||
docker rm $processes
|
docker rm $processes
|
||||||
fi
|
fi
|
||||||
|
|
||||||
images=`docker images -q -f dangling=true`
|
images=`docker images -q -f dangling=true`
|
||||||
if [ -n "$images" ]; then
|
if [ -n "$images" ]; then
|
||||||
docker rmi $images
|
docker rmi $images
|
||||||
@ -140,13 +384,13 @@ alias dcleanlaradock=dcleanlaradockfunction
|
|||||||
```
|
```
|
||||||
|
|
||||||
<a name="InstallLaraDockDialTone"></a>
|
<a name="InstallLaraDockDialTone"></a>
|
||||||
#### Let's get a dial-tone with Laravel
|
## Let's get a dial-tone with Laravel
|
||||||
|
|
||||||
```
|
```
|
||||||
# barebones at this point
|
# barebones at this point
|
||||||
docker-compose up -d nginx mysql
|
docker-compose up -d nginx mysql
|
||||||
|
|
||||||
# run
|
# run
|
||||||
docker-compose ps
|
docker-compose ps
|
||||||
|
|
||||||
# Should see:
|
# Should see:
|
||||||
@ -163,7 +407,7 @@ laradock_workspace_1 /sbin/my_init Up 0.0.0.0:2222-
|
|||||||
```
|
```
|
||||||
|
|
||||||
<a name="enablePhpXdebug"></a>
|
<a name="enablePhpXdebug"></a>
|
||||||
#### Enable xDebug on php-fpm
|
## Enable xDebug on php-fpm
|
||||||
In a host terminal sitting in the laradock folder, run: `./xdebugPhpFpm status`
|
In a host terminal sitting in the laradock folder, run: `./xdebugPhpFpm status`
|
||||||
You should see something like the following:
|
You should see something like the following:
|
||||||
```
|
```
|
||||||
@ -181,39 +425,39 @@ If you have enabled `xdebug=true` in `docker-compose.yml/php-fpm`, `xdebug` will
|
|||||||
|
|
||||||
|
|
||||||
<a name="InstallPHPStormConfigs"></a>
|
<a name="InstallPHPStormConfigs"></a>
|
||||||
#### PHPStorm Settings
|
## PHPStorm Settings
|
||||||
- Here are some settings that are known to work:
|
- Here are some settings that are known to work:
|
||||||
- `Settings/BuildDeploymentConnection`
|
- `Settings/BuildDeploymentConnection`
|
||||||
- 
|
- 
|
||||||
|
|
||||||
- `Settings/BuildDeploymentConnectionMappings`
|
- `Settings/BuildDeploymentConnectionMappings`
|
||||||
- 
|
- 
|
||||||
|
|
||||||
- `Settings/BuildDeploymentDebugger`
|
- `Settings/BuildDeploymentDebugger`
|
||||||
- 
|
- 
|
||||||
|
|
||||||
- `Settings/EditRunConfigurationRemoteWebDebug`
|
- `Settings/EditRunConfigurationRemoteWebDebug`
|
||||||
- 
|
- 
|
||||||
|
|
||||||
- `Settings/EditRunConfigurationRemoteExampleTestDebug`
|
- `Settings/EditRunConfigurationRemoteExampleTestDebug`
|
||||||
- 
|
- 
|
||||||
|
|
||||||
- `Settings/LangsPHPDebug`
|
- `Settings/LangsPHPDebug`
|
||||||
- 
|
- 
|
||||||
|
|
||||||
- `Settings/LangsPHPInterpreters`
|
- `Settings/LangsPHPInterpreters`
|
||||||
- 
|
- 
|
||||||
|
|
||||||
- `Settings/LangsPHPPHPUnit`
|
- `Settings/LangsPHPPHPUnit`
|
||||||
- 
|
- 
|
||||||
|
|
||||||
- `Settings/LangsPHPServers`
|
- `Settings/LangsPHPServers`
|
||||||
- 
|
- 
|
||||||
|
|
||||||
- `RemoteHost`
|
- `RemoteHost`
|
||||||
To switch on this view, go to: `Menu/Tools/Deployment/Browse Remote Host`.
|
To switch on this view, go to: `Menu/Tools/Deployment/Browse Remote Host`.
|
||||||
- 
|
- 
|
||||||
|
|
||||||
- `RemoteWebDebug`
|
- `RemoteWebDebug`
|
||||||
- 
|
- 
|
||||||
|
|
||||||
@ -258,14 +502,14 @@ If you have enabled `xdebug=true` in `docker-compose.yml/php-fpm`, `xdebug` will
|
|||||||
|
|
||||||
<a name="UsagePHPStormDebugSite"></a>
|
<a name="UsagePHPStormDebugSite"></a>
|
||||||
### Debug WebSite
|
### Debug WebSite
|
||||||
- In case xDebug is disabled, from the `laradock` folder run:
|
- In case xDebug is disabled, from the `laradock` folder run:
|
||||||
`./xdebugPhpFpm start`.
|
`./xdebugPhpFpm start`.
|
||||||
- To switch xdebug off, run:
|
- To switch xdebug off, run:
|
||||||
`./xdebugPhpFpm stop`
|
`./xdebugPhpFpm stop`
|
||||||
|
|
||||||
- Start Remote Debugging
|
- Start Remote Debugging
|
||||||
- 
|
- 
|
||||||
|
|
||||||
- Open to edit: `bootstrap/app.php`
|
- Open to edit: `bootstrap/app.php`
|
||||||
- Add a BreakPoint on line 14: `$app = new Illuminate\Foundation\Application(`
|
- Add a BreakPoint on line 14: `$app = new Illuminate\Foundation\Application(`
|
||||||
- Reload [Laravel Site](http://laravel/)
|
- Reload [Laravel Site](http://laravel/)
|
||||||
@ -274,7 +518,7 @@ If you have enabled `xdebug=true` in `docker-compose.yml/php-fpm`, `xdebug` will
|
|||||||
|
|
||||||
|
|
||||||
<a name="SSHintoWorkspace"></a>
|
<a name="SSHintoWorkspace"></a>
|
||||||
#### Let's shell into workspace
|
## Let's shell into workspace
|
||||||
Assuming that you are in laradock folder, type:
|
Assuming that you are in laradock folder, type:
|
||||||
`ssh -i workspace/insecure_id_rsa -p2222 root@laravel`
|
`ssh -i workspace/insecure_id_rsa -p2222 root@laravel`
|
||||||
**Cha Ching!!!!**
|
**Cha Ching!!!!**
|
||||||
@ -285,7 +529,7 @@ Assuming that you are in laradock folder, type:
|
|||||||
|
|
||||||
<a name="InstallKiTTY"></a>
|
<a name="InstallKiTTY"></a>
|
||||||
|
|
||||||
##### KiTTY
|
### KiTTY
|
||||||
[Kitty](http://www.9bis.net/kitty/) KiTTY is a fork from version 0.67 of PuTTY.
|
[Kitty](http://www.9bis.net/kitty/) KiTTY is a fork from version 0.67 of PuTTY.
|
||||||
|
|
||||||
- Here are some settings that are working for me:
|
- Here are some settings that are working for me:
|
@ -4,18 +4,21 @@ type: index
|
|||||||
weight: 1
|
weight: 1
|
||||||
---
|
---
|
||||||
|
|
||||||
Laradock strives to make the PHP development experience easier and faster.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
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...).
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
A full PHP development environment for Docker.
|
||||||
|
|
||||||
|
Includes pre-packaged Docker Images, all pre-configured to provide a wonderful PHP development environment.
|
||||||
|
|
||||||
|
Laradock is well known in the Laravel community, as the project started with single focus on running Laravel projects on Docker. Later and due to the large adoption from the PHP community, it started supporting other PHP projects like Symfony, CodeIgniter, WordPress, Drupal...
|
||||||
|
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
## Quick Overview
|
## Quick Overview
|
||||||
|
|
||||||
Let's see how easy it is to install `NGINX`, `PHP`, `Composer`, `MySQL`, `Redis` and `beanstalkd`:
|
Let's see how easy it is to install `NGINX`, `PHP`, `Composer`, `MySQL`, `Redis` and `Beanstalkd`:
|
||||||
|
|
||||||
1 - Clone Laradock inside your PHP project:
|
1 - Clone Laradock inside your PHP project:
|
||||||
|
|
||||||
@ -35,7 +38,7 @@ cp env-example .env
|
|||||||
docker-compose up -d nginx mysql redis beanstalkd
|
docker-compose up -d nginx mysql redis beanstalkd
|
||||||
```
|
```
|
||||||
|
|
||||||
3 - Open your project's `.env` file and set the following:
|
4 - Open your project's `.env` file and set the following:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
DB_HOST=mysql
|
DB_HOST=mysql
|
||||||
@ -43,7 +46,7 @@ REDIS_HOST=redis
|
|||||||
QUEUE_HOST=beanstalkd
|
QUEUE_HOST=beanstalkd
|
||||||
```
|
```
|
||||||
|
|
||||||
4 - Open your browser and visit localhost: `http://localhost`.
|
5 - Open your browser and visit localhost: `http://localhost`.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
That's it! enjoy :)
|
That's it! enjoy :)
|
||||||
@ -52,6 +55,63 @@ That's it! enjoy :)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a name="features"></a>
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- Easy switch between PHP versions: 7.1, 7.0, 5.6...
|
||||||
|
- Choose your favorite database engine: MySQL, Postgres, MariaDB...
|
||||||
|
- Run your own combination of software: Memcached, HHVM, Beanstalkd...
|
||||||
|
- Every software runs on a separate container: PHP-FPM, NGINX, PHP-CLI...
|
||||||
|
- Easy to customize any container, with simple edit to the `Dockerfile`.
|
||||||
|
- All Images extends from an official base Image. (Trusted base Images).
|
||||||
|
- Pre-configured NGINX to host any code at your root directory.
|
||||||
|
- Can use Laradock per project, or single Laradock for all projects.
|
||||||
|
- Easy to install/remove software's in Containers using environment variables.
|
||||||
|
- Clean and well structured Dockerfiles (`Dockerfile`).
|
||||||
|
- Latest version of the Docker Compose file (`docker-compose`).
|
||||||
|
- Everything is visible and editable.
|
||||||
|
- Fast Images Builds.
|
||||||
|
- More to come every week..
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a name="Supported-Containers"></a>
|
||||||
|
## Supported Software (Images)
|
||||||
|
|
||||||
|
In adhering to the separation of concerns principle as promoted by Docker, Laradock runs each software on its own Container.
|
||||||
|
You can turn On/Off as many instances of as any container without worrying about the configurations, everything works like a charm.
|
||||||
|
|
||||||
|
- **Database Engines:**
|
||||||
|
MySQL - MariaDB - Percona - MongoDB - Neo4j - RethinkDB - MSSQL - PostgreSQL - Postgres Postgis.
|
||||||
|
- **Cache Engines:**
|
||||||
|
Redis - Memcached - Aerospike
|
||||||
|
- **PHP Servers:**
|
||||||
|
NGINX - Apache2 - Caddy
|
||||||
|
- **PHP Compilers:**
|
||||||
|
PHP FPM - HHVM
|
||||||
|
- **Message Queuing:**
|
||||||
|
Beanstalkd - Beanstalkd Console - RabbitMQ - RabbitMQ Console - PHP Worker
|
||||||
|
- **Tools:**
|
||||||
|
HAProxy - Jenkins - ElasticSearch - Selenium - Certbot - Mailhog - Minio - Varnish - PhpMyAdmin - Adminer - PgAdmin - MailHog...
|
||||||
|
|
||||||
|
Laradock introduces the **Workspace** Image, as a development environment.
|
||||||
|
It contains a rich set of helpful tools, all pre-configured to work and integrate with almost any combination of Containers and tools you may choose.
|
||||||
|
|
||||||
|
**Workspace Image Tools**
|
||||||
|
PHP CLI - Composer - Git - Linuxbrew - Node - V8JS - Gulp - SQLite - xDebug - Envoy - Deployer - Vim - Yarn - SOAP - Drush...
|
||||||
|
|
||||||
|
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 sumit it. Contributions are welcomed :)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -81,31 +141,12 @@ Most importantly Docker can run on Development and on Production (same environme
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="laradock-vs-homestead"></a>
|
|
||||||
## Laradock VS Homestead (For Laravel Developers)
|
|
||||||
|
|
||||||
> Laradock It's like Laravel Homestead but for Docker instead of Vagrant.
|
|
||||||
|
|
||||||
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).
|
|
||||||
|
|
||||||
- Homestead is a tool that controls Vagrant for you (using Homestead special commands). And Vagrant manages your Virtual Machine.
|
|
||||||
|
|
||||||
- Laradock is a tool that controls Docker for you (using Docker & Docker Compose official commands). And Docker manages your Virtual Containers.
|
|
||||||
|
|
||||||
Running a virtual container is much faster than running a full virtual Machine. Thus **Laradock is much faster than Homestead**.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="Demo"></a>
|
<a name="Demo"></a>
|
||||||
## Demo Video
|
## Demo Video
|
||||||
|
|
||||||
What's better than a **Demo Video**:
|
What's better than a **Demo Video**:
|
||||||
|
|
||||||
|
- Laradock v5.* (soon or never)
|
||||||
- Laradock [v4.*](https://www.youtube.com/watch?v=TQii1jDa96Y)
|
- Laradock [v4.*](https://www.youtube.com/watch?v=TQii1jDa96Y)
|
||||||
- Laradock [v2.*](https://www.youtube.com/watch?v=-DamFMczwDA)
|
- Laradock [v2.*](https://www.youtube.com/watch?v=-DamFMczwDA)
|
||||||
- Laradock [v0.3](https://www.youtube.com/watch?v=jGkyO6Is_aI)
|
- Laradock [v0.3](https://www.youtube.com/watch?v=jGkyO6Is_aI)
|
||||||
@ -117,88 +158,6 @@ What's better than a **Demo Video**:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="features"></a>
|
|
||||||
## Features
|
|
||||||
|
|
||||||
- Easy switch between PHP versions: 7.0, 5.6, 5.5...
|
|
||||||
- Choose your favorite database engine: MySQL, Postgres, MariaDB...
|
|
||||||
- Run your own combination of software: Memcached, HHVM, Beanstalkd...
|
|
||||||
- Every software runs on a separate container: PHP-FPM, NGINX, PHP-CLI...
|
|
||||||
- Easy to customize any container, with simple edit to the `Dockerfile`.
|
|
||||||
- All Images extends from an official base Image. (Trusted base Images).
|
|
||||||
- Pre-configured NGINX for Laravel.
|
|
||||||
- Easy to apply configurations inside containers.
|
|
||||||
- Clean and well structured Dockerfiles (`Dockerfile`).
|
|
||||||
- Latest version of the Docker Compose file (`docker-compose`).
|
|
||||||
- Everything is visible and editable.
|
|
||||||
- Fast Images Builds.
|
|
||||||
- More to come every week..
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="Supported-Containers"></a>
|
|
||||||
## Supported Software (Containers)
|
|
||||||
|
|
||||||
- **Database Engines:**
|
|
||||||
- MySQL
|
|
||||||
- MariaDB
|
|
||||||
- MongoDB
|
|
||||||
- Neo4j
|
|
||||||
- RethinkDB
|
|
||||||
- PostgreSQL
|
|
||||||
- Postgres Postgis
|
|
||||||
- **Cache Engines:**
|
|
||||||
- Redis
|
|
||||||
- Memcached
|
|
||||||
- Aerospike
|
|
||||||
- **PHP Servers:**
|
|
||||||
- NGINX
|
|
||||||
- Apache2
|
|
||||||
- Caddy
|
|
||||||
- **PHP Compilers:**
|
|
||||||
- PHP-FPM
|
|
||||||
- HHVM
|
|
||||||
- **Message Queuing Systems:**
|
|
||||||
- Beanstalkd
|
|
||||||
- Beanstalkd Console
|
|
||||||
- RabbitMQ
|
|
||||||
- RabbitMQ Console
|
|
||||||
- **Tools:**
|
|
||||||
- PhpMyAdmin
|
|
||||||
- Adminer
|
|
||||||
- PgAdmin
|
|
||||||
- ElasticSearch
|
|
||||||
- Selenium
|
|
||||||
- Certbot
|
|
||||||
- Mailhog
|
|
||||||
- Minio
|
|
||||||
- Workspace
|
|
||||||
- PHP7-CLI
|
|
||||||
- Composer
|
|
||||||
- Git
|
|
||||||
- Linuxbrew
|
|
||||||
- Node
|
|
||||||
- Gulp
|
|
||||||
- SQLite
|
|
||||||
- xDebug
|
|
||||||
- Envoy
|
|
||||||
- Deployer
|
|
||||||
- Vim
|
|
||||||
- Yarn
|
|
||||||
- ... Many other supported tools are not documented. (Will be updated soon)
|
|
||||||
|
|
||||||
>If you can't find your Software, build it yourself and add it to this list. Contributions are welcomed :)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="Chat"></a>
|
<a name="Chat"></a>
|
||||||
## Chat with us
|
## Chat with us
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
title: License
|
title: License
|
||||||
type: index
|
type: index
|
||||||
weight: 7
|
weight: 8
|
||||||
---
|
---
|
||||||
|
|
||||||
[MIT License](https://github.com/laradock/laradock/blob/master/LICENSE) (MIT)
|
[MIT License](https://github.com/laradock/laradock/blob/master/LICENSE) (MIT)
|
@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
title: Related Projects
|
title: Related Projects
|
||||||
type: index
|
type: index
|
||||||
weight: 4
|
weight: 6
|
||||||
---
|
---
|
||||||
|
|
||||||
Laradock related projects:
|
Laradock related projects:
|
@ -1,11 +1,11 @@
|
|||||||
<nav aria-label="Navigation">
|
<nav aria-label="Navigation">
|
||||||
<!--<a href="{{ with .Site.Params.repo_url }}{{ . }}{{ else }}{{ .Site.BaseURL }}{{ end }}" class="project">-->
|
<a href="{{ with .Site.Params.repo_url }}{{ . }}{{ else }}{{ .Site.BaseURL }}{{ end }}" class="project">
|
||||||
<!--<div class="banner">-->
|
<div class="banner">
|
||||||
<!--{{ with .Site.Params.logo }}-->
|
{{ with .Site.Params.logo }}
|
||||||
<!--<div class="logo">-->
|
<div class="logo">
|
||||||
<!--<img src="{{ $.Site.BaseURL }}{{ . }}">-->
|
<img src="{{ $.Site.BaseURL }}{{ . }}">
|
||||||
<!--</div>-->
|
</div>
|
||||||
<!--{{ end }}-->
|
{{ end }}
|
||||||
<!--<div class="name">-->
|
<!--<div class="name">-->
|
||||||
<!--<strong>{{ .Site.Title }} {{ with .Site.Params.version }}<span class="version">{{ . }}</span>{{ end }}</strong>-->
|
<!--<strong>{{ .Site.Title }} {{ with .Site.Params.version }}<span class="version">{{ . }}</span>{{ end }}</strong>-->
|
||||||
<!--{{ with .Scratch.Get "repo_id" }}-->
|
<!--{{ with .Scratch.Get "repo_id" }}-->
|
||||||
@ -13,8 +13,8 @@
|
|||||||
<!--{{ . }}-->
|
<!--{{ . }}-->
|
||||||
<!--{{ end }}-->
|
<!--{{ end }}-->
|
||||||
<!--</div>-->
|
<!--</div>-->
|
||||||
<!--</div>-->
|
</div>
|
||||||
<!--</a>-->
|
</a>
|
||||||
|
|
||||||
<div class="scrollable">
|
<div class="scrollable">
|
||||||
<div class="wrapper">
|
<div class="wrapper">
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
BIN
DOCUMENTATION/themes/hugo-material-docs/static/images/logo.png
Normal file
After Width: | Height: | Size: 142 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 70 KiB |
Before Width: | Height: | Size: 9.5 KiB After Width: | Height: | Size: 9.5 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
@ -3,7 +3,7 @@
|
|||||||
* theme that is used as fallback in codeblocks
|
* theme that is used as fallback in codeblocks
|
||||||
*/
|
*/
|
||||||
.article pre code {
|
.article pre code {
|
||||||
color: rgba(0, 0, 0, 0.8) !important;
|
color: rgba(0, 0, 0, 0.78) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -103,3 +103,14 @@ font-style:italic;
|
|||||||
.hljs-strong {
|
.hljs-strong {
|
||||||
font-weight:700;
|
font-weight:700;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
OVERRIDING THE DEFAULT STYLES - By Mahmoud Zalt (mahmoud@zalt.me) for Laradock.io
|
||||||
|
*/
|
||||||
|
|
||||||
|
.project .logo img{
|
||||||
|
width: 140px;
|
||||||
|
height: 140px;
|
||||||
|
background: transparent;
|
||||||
|
border-radius: 0%;
|
||||||
|
}
|
444
README-zh.md
@ -4,14 +4,13 @@
|
|||||||
|
|
||||||
[](https://gitter.im/LaraDock/laradock?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
[](https://gitter.im/LaraDock/laradock?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
||||||
|
|
||||||
LaraDock能够帮你在**Docker**上快速搭建**Laravel**应用。
|
LaraDock 能够帮你在 **Docker** 上快速搭建 **Laravel** 应用。
|
||||||
<br>
|
|
||||||
就像Laravel Homestead一样,但是Docker替换了Vagrant。
|
就像 Laravel Homestead 一样,但是 Docker 替换了 Vagrant。
|
||||||
|
|
||||||
> 先在使用 LaraDock,然后再学习它们。
|
> 先在使用 LaraDock,然后再学习它们。
|
||||||
|
|
||||||
<br>
|
|
||||||
## 目录
|
## 目录
|
||||||
|
|
||||||
- [Intro](#Intro)
|
- [Intro](#Intro)
|
||||||
- [Features](#features)
|
- [Features](#features)
|
||||||
- [Supported Software's](#Supported-Containers)
|
- [Supported Software's](#Supported-Containers)
|
||||||
@ -54,40 +53,44 @@ LaraDock能够帮你在**Docker**上快速搭建**Laravel**应用。
|
|||||||
- [Help & Questions](#Help)
|
- [Help & Questions](#Help)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="Intro"></a>
|
<a name="Intro"></a>
|
||||||
## 介绍
|
## 介绍
|
||||||
LaraDock努力简化创建开发环境过程。
|
|
||||||
它包含预包装Docker镜像,提供你一个美妙的开发环境而不需要安装PHP,NGINX,MySQL和其他任何软件在你本地机器上。
|
LaraDock 努力简化创建开发环境过程。
|
||||||
|
它包含预包装 Docker 镜像,提供你一个美妙的开发环境而不需要安装 PHP, NGINX, MySQL 和其他任何软件在你本地机器上。
|
||||||
|
|
||||||
**使用概览:**
|
**使用概览:**
|
||||||
|
|
||||||
|
让我们了解使用它安装 `NGINX`, `PHP`, `Composer`, `MySQL` 和 `Redis`,然后运行 `Laravel`
|
||||||
|
|
||||||
让我们了解使用它安装`NGINX`, `PHP`, `Composer`, `MySQL` 和 `Redis`,然后运行`Laravel`
|
1. 将 LaraDock 放到你的 Laravel 项目中:
|
||||||
|
|
||||||
1. 将LaraDock放到你的Laravel项目中:
|
```bash
|
||||||
<br>
|
git clone https://github.com/laradock/laradock.git
|
||||||
`git clone https://github.com/laradock/laradock.git`.
|
```
|
||||||
2. 进入LaraDock目录,然后运行这些容器。
|
|
||||||
<br>
|
|
||||||
`docker-compose up -d nginx mysql redis`
|
|
||||||
3. 打开你的`.env`文件,然后设置`mysql`的`DB_HOST` 和 `redis`的`REDIS_HOST`。
|
|
||||||
4. 打开浏览器,访问localhost:
|
|
||||||
|
|
||||||
|
2. 进入 LaraDock 目录,然后运行这些容器。
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker-compose up -d nginx mysql redis
|
||||||
|
```
|
||||||
|
|
||||||
|
3. 打开你的 `.env` 文件,然后设置 `mysql` 的 `DB_HOST` 和 `redis` 的`REDIS_HOST`。
|
||||||
|
|
||||||
|
4. 打开浏览器,访问 localhost:
|
||||||
|
|
||||||
<a name="features"></a>
|
<a name="features"></a>
|
||||||
### 特点
|
### 特点
|
||||||
|
|
||||||
- 在PHP版本:7.0,5.6.5.5...之中可以简单切换。
|
- 在 PHP 版本:7.0,5.6.5.5...之中可以简单切换。
|
||||||
- 可选择你最喜欢的数据库引擎,比如:MySQL, Postgres, MariaDB...
|
- 可选择你最喜欢的数据库引擎,比如:MySQL, Postgres, MariaDB...
|
||||||
- 可运行自己的软件组合,比如:Memcached, HHVM, Beanstalkd...
|
- 可运行自己的软件组合,比如:Memcached, HHVM, Beanstalkd...
|
||||||
- 所有软件运行在不同的容器之中,比如:PHP-FPM, NGINX, PHP-CLI...
|
- 所有软件运行在不同的容器之中,比如:PHP-FPM, NGINX, PHP-CLI...
|
||||||
- 通过简单的编写`dockerfile`容易定制任何容器。
|
- 通过简单的编写 `Dockerfile` 容易定制任何容器。
|
||||||
- 所有镜像继承自一个官方基础镜像(Trusted base Images)
|
- 所有镜像继承自一个官方基础镜像(Trusted base Images)
|
||||||
- 可预配置Laravel的Nginx环境
|
- 可预配置Laravel的Nginx环境
|
||||||
- 容易应用容器中的配置
|
- 容易应用容器中的配置 配置文件(`Dockerfile`)
|
||||||
- 干净的结构化的Docker配置文件(`dockerfile`)
|
- 最新的 Docker Compose 版本(`docker-compose`)
|
||||||
- 最新的Docker Compose 版本(`docker-compose`)
|
|
||||||
- 所有的都是可视化和可编辑的
|
- 所有的都是可视化和可编辑的
|
||||||
- 快速的镜像构建
|
- 快速的镜像构建
|
||||||
- 每周都会有更新...
|
- 每周都会有更新...
|
||||||
@ -115,39 +118,37 @@ LaraDock努力简化创建开发环境过程。
|
|||||||
- Beanstalkd (+ Beanstalkd Console)
|
- Beanstalkd (+ Beanstalkd Console)
|
||||||
- **工具:**
|
- **工具:**
|
||||||
- Workspace (PHP7-CLI, Composer, Git, Node, Gulp, SQLite, Vim, Nano, cURL...)
|
- Workspace (PHP7-CLI, Composer, Git, Node, Gulp, SQLite, Vim, Nano, cURL...)
|
||||||
|
|
||||||
>如果你找不到你需要的软件,构建它然后把它添加到这个列表。你的贡献是受欢迎的。
|
>如果你找不到你需要的软件,构建它然后把它添加到这个列表。你的贡献是受欢迎的。
|
||||||
|
|
||||||
<a name="what-is-docker"></a>
|
<a name="what-is-docker"></a>
|
||||||
### Docker是什么?
|
### Docker 是什么?
|
||||||
|
|
||||||
[Docker](https://www.docker.com) 是一个开源项目,自动化部署应用程序软件的容器,在Linux, Mac OS and Windows提供一个额外的抽象层和自动化的[操作系统级的虚拟化](https://en.wikipedia.org/wiki/Operating-system-level_virtualization)
|
[Docker](https://www.docker.com) 是一个开源项目,自动化部署应用程序软件的容器,在 Linux, Mac OS and Windows 提供一个额外的抽象层和自动化的[操作系统级的虚拟化](https://en.wikipedia.org/wiki/Operating-system-level_virtualization)
|
||||||
|
|
||||||
<a name="what-is-laravel"></a>
|
<a name="what-is-laravel"></a>
|
||||||
### Laravel是什么?
|
### Laravel 是什么?
|
||||||
|
|
||||||
额,这很认真的!!!
|
额,这很认真的!!!
|
||||||
|
|
||||||
|
|
||||||
<a name="why-docker-not-vagrant"></a>
|
<a name="why-docker-not-vagrant"></a>
|
||||||
### 为什么使用Docker而不是Vagrant!?
|
### 为什么使用 Docker 而不是 Vagrant!?
|
||||||
|
|
||||||
[Vagrant](https://www.vagrantup.com)构建虚拟机需要几分钟然而Docker构建虚拟容器只需要几秒钟。
|
[Vagrant](https://www.vagrantup.com) 构建虚拟机需要几分钟然而 Docker 构建虚拟容器只需要几秒钟。
|
||||||
而不是提供一个完整的虚拟机,就像你用Vagrant,Docker为您提供**轻量级**虚拟容器,共享相同的内核和允许安全执行独立的进程。
|
而不是提供一个完整的虚拟机,就像你用 Vagrant, Docker 为您提供**轻量级**虚拟容器,共享相同的内核和允许安全执行独立的进程。
|
||||||
|
|
||||||
除了速度,Docker提供大量的Vagrant无法实现的功能。
|
除了速度, Docker 提供大量的 Vagrant 无法实现的功能。
|
||||||
|
|
||||||
最重要的是Docker可以运行在开发和生产(相同环境无处不在)。Vagrant是专为开发,(所以在生产环境你必须每一次重建您的服务器)。
|
最重要的是 Docker 可以运行在开发和生产(相同环境无处不在)。Vagrant 是专为开发,(所以在生产环境你必须每一次重建您的服务器)。
|
||||||
|
|
||||||
<a name="laradock-vs-homestead"></a>
|
<a name="laradock-vs-homestead"></a>
|
||||||
### LaraDock Homestead 对比
|
### LaraDock Homestead 对比
|
||||||
|
|
||||||
LaraDock and [Homestead](https://laravel.com/docs/master/homestead) 给你一个完整的虚拟开发环境。(不需要安装和配置软件在你自己的每一个操作系统)。
|
LaraDock and [Homestead](https://laravel.com/docs/master/homestead) 给你一个完整的虚拟开发环境。(不需要安装和配置软件在你自己的每一个操作系统)。
|
||||||
|
|
||||||
Homestead 是一个工具,为你控制虚拟机(使用Homestead特殊命令)。Vagrant可以管理你的管理虚容器。
|
Homestead 是一个工具,为你控制虚拟机(使用 Homestead 特殊命令)。Vagrant 可以管理你的管理虚容器。
|
||||||
|
|
||||||
运行一个虚拟容器比运行一整个虚拟机快多了**LaraDock 比 Homestead快多了**
|
|
||||||
|
|
||||||
|
|
||||||
|
运行一个虚拟容器比运行一整个虚拟机快多了 **LaraDock 比 Homestead 快多了**
|
||||||
|
|
||||||
<a name="Demo"></a>
|
<a name="Demo"></a>
|
||||||
## 演示视频
|
## 演示视频
|
||||||
@ -158,53 +159,41 @@ Homestead 是一个工具,为你控制虚拟机(使用Homestead特殊命令)。V
|
|||||||
- LaraDock [v0.3](https://www.youtube.com/watch?v=jGkyO6Is_aI)
|
- LaraDock [v0.3](https://www.youtube.com/watch?v=jGkyO6Is_aI)
|
||||||
- LaraDock [v0.1](https://www.youtube.com/watch?v=3YQsHe6oF80)
|
- LaraDock [v0.1](https://www.youtube.com/watch?v=3YQsHe6oF80)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="Requirements"></a>
|
<a name="Requirements"></a>
|
||||||
## 依赖
|
## 依赖
|
||||||
|
|
||||||
- [Git](https://git-scm.com/downloads)
|
- [Git](https://git-scm.com/downloads)
|
||||||
- [Docker](https://www.docker.com/products/docker/)
|
- [Docker](https://www.docker.com/products/docker/)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="Installation"></a>
|
<a name="Installation"></a>
|
||||||
## 安装
|
## 安装
|
||||||
|
|
||||||
|
|
||||||
1 - 克隆 `LaraDock` 仓库:
|
1 - 克隆 `LaraDock` 仓库:
|
||||||
|
|
||||||
**A)** 如果你已经有一个Laravel项目,克隆这个仓库在到`Laravel`根目录
|
**A)** 如果你已经有一个 Laravel 项目,克隆这个仓库在到 `Laravel` 根目录
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git submodule add https://github.com/laradock/laradock.git
|
git submodule add https://github.com/laradock/laradock.git
|
||||||
```
|
```
|
||||||
>如果你不是使用Git管理Laravel项目,您可以使用 `git clone` 而不是`git submodule`。
|
|
||||||
|
|
||||||
|
>如果你不是使用 Git 管理 Laravel 项目,您可以使用 `git clone` 而不是 `git submodule`。
|
||||||
|
|
||||||
**B)** 如果你没有一个Laravel项目,你想Docker安装Laravel,克隆这个源在您的机器任何地方上:
|
**B)** 如果你没有一个 Laravel 项目,你想 Docker 安装 Laravel,克隆这个源在您的机器任何地方上:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone https://github.com/laradock/laradock.git
|
git clone https://github.com/laradock/laradock.git
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="Usage"></a>
|
<a name="Usage"></a>
|
||||||
## 使用
|
## 使用
|
||||||
|
|
||||||
|
|
||||||
**请在开始之前阅读:**
|
**请在开始之前阅读:**
|
||||||
如果你正在使用**Docker Toolbox** (VM),选择以下任何一个方法:
|
如果你正在使用 **Docker Toolbox** (VM),选择以下任何一个方法:
|
||||||
- 更新到Docker [Native](https://www.docker.com/products/docker) Mac/Windows版本 (建议). 查看 [Upgrading LaraDock](#upgrading-laradock)
|
- 更新到 Docker [Native](https://www.docker.com/products/docker) Mac/Windows 版本 (建议). 查看 [Upgrading LaraDock](#upgrading-laradock)
|
||||||
- 使用 LaraDock v3.* (访问 `LaraDock-ToolBox` [分支](https://github.com/laradock/laradock/tree/LaraDock-ToolBox)).
|
- 使用 LaraDock v3.* (访问 `LaraDock-ToolBox` [分支](https://github.com/laradock/laradock/tree/LaraDock-ToolBox)).
|
||||||
如果您使用的是**Docker Native**(Mac / Windows版本)甚至是Linux版本,通常可以继续阅读这个文档,LaraDock v4以上版本将仅支持**Docker Native**。
|
如果您使用的是 **Docker Native**(Mac / Windows 版本)甚至是 Linux 版本,通常可以继续阅读这个文档,LaraDock v4 以上版本将仅支持 **Docker Native**。
|
||||||
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
1 - 运行容器: *(在运行`docker-compose`命令之前,确认你在 `laradock` 目录中*
|
|
||||||
|
|
||||||
|
|
||||||
|
1 - 运行容器: *(在运行 `docker-compose` 命令之前,确认你在 `laradock` 目录中*
|
||||||
|
|
||||||
**例子:** 运行 NGINX 和 MySQL:
|
**例子:** 运行 NGINX 和 MySQL:
|
||||||
|
|
||||||
@ -213,77 +202,50 @@ docker-compose up -d nginx mysql
|
|||||||
```
|
```
|
||||||
你可以从以下列表选择你自己的容器组合:
|
你可以从以下列表选择你自己的容器组合:
|
||||||
|
|
||||||
|
|
||||||
`nginx`, `hhvm`, `php-fpm`, `mysql`, `redis`, `postgres`, `mariadb`, `neo4j`, `mongo`, `apache2`, `caddy`, `memcached`, `beanstalkd`, `beanstalkd-console`, `workspace`.
|
`nginx`, `hhvm`, `php-fpm`, `mysql`, `redis`, `postgres`, `mariadb`, `neo4j`, `mongo`, `apache2`, `caddy`, `memcached`, `beanstalkd`, `beanstalkd-console`, `workspace`.
|
||||||
|
|
||||||
|
|
||||||
**说明**: `workspace` 和 `php-fpm` 将运行在大部分实例中, 所以不需要在 `up` 命令中加上它们.
|
**说明**: `workspace` 和 `php-fpm` 将运行在大部分实例中, 所以不需要在 `up` 命令中加上它们.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
2 - 进入 Workspace 容器, 执行像 (Artisan, Composer, PHPUnit, Gulp, ...)等命令
|
2 - 进入 Workspace 容器, 执行像 (Artisan, Composer, PHPUnit, Gulp, ...)等命令
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker-compose exec workspace bash
|
docker-compose exec workspace bash
|
||||||
```
|
```
|
||||||
<br />
|
|
||||||
增加 `--user=laradock` (例如 `docker-compose exec --user=laradock workspace bash`) 作为您的主机的用户创建的文件. (你可以从 `docker-compose.yml`修改 PUID (User id) 和 PGID (group id) 值 ).
|
增加 `--user=laradock` (例如 `docker-compose exec --user=laradock workspace bash`) 作为您的主机的用户创建的文件. (你可以从 `docker-compose.yml`修改 PUID (User id) 和 PGID (group id) 值 ).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
3 - 编辑 Laravel 的配置.
|
3 - 编辑 Laravel 的配置.
|
||||||
|
|
||||||
如果你还没有安装Laravel项目,请查看 [How to Install Laravel in a Docker Container](#Install-Laravel).
|
如果你还没有安装 Laravel 项目,请查看 [How to Install Laravel in a Docker Container](#Install-Laravel).
|
||||||
|
|
||||||
打开 Laravel的 `.env` 文件 然后 配置 你的`mysql`的`DB_HOST`:
|
打开 Laravel 的 `.env` 文件 然后 配置 你的 `mysql` 的 `DB_HOST`:
|
||||||
|
|
||||||
```env
|
```env
|
||||||
DB_HOST=mysql
|
DB_HOST=mysql
|
||||||
```
|
```
|
||||||
|
|
||||||
|
4 - 打开浏览器访问 localhost (`http://localhost/`).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
4 - 打开浏览器访问localhost (`http://localhost/`).
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
**调试**: 如果你碰到任何问题,请查看 [调试](#debugging) 章节
|
**调试**: 如果你碰到任何问题,请查看 [调试](#debugging) 章节
|
||||||
如果你需要特别支持,请联系我,更多细节在[帮助 & 问题](#Help)章节
|
如果你需要特别支持,请联系我,更多细节在[帮助 & 问题](#Help)章节
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Documentation"></a>
|
<a name="Documentation"></a>
|
||||||
## 文档
|
## 文档
|
||||||
|
|
||||||
|
|
||||||
<a name="Docker"></a>
|
<a name="Docker"></a>
|
||||||
### [Docker]
|
### [Docker]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="List-current-running-Containers"></a>
|
<a name="List-current-running-Containers"></a>
|
||||||
### 列出正在运行的容器
|
### 列出正在运行的容器
|
||||||
```bash
|
```bash
|
||||||
docker ps
|
docker ps
|
||||||
```
|
```
|
||||||
|
|
||||||
你也可以使用以下命令查看某项目的容器
|
你也可以使用以下命令查看某项目的容器
|
||||||
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker-compose ps
|
docker-compose ps
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Close-all-running-Containers"></a>
|
<a name="Close-all-running-Containers"></a>
|
||||||
### 关闭所有容器
|
### 关闭所有容器
|
||||||
```bash
|
```bash
|
||||||
@ -296,25 +258,18 @@ docker-compose stop
|
|||||||
docker-compose stop {容器名称}
|
docker-compose stop {容器名称}
|
||||||
```
|
```
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Delete-all-existing-Containers"></a>
|
<a name="Delete-all-existing-Containers"></a>
|
||||||
### 删除所有容器
|
### 删除所有容器
|
||||||
```bash
|
```bash
|
||||||
docker-compose down
|
docker-compose down
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
小心这个命令,因为它也会删除你的数据容器。(如果你想保留你的数据你应该在上述命令后列出容器名称删除每个容器本身):*
|
小心这个命令,因为它也会删除你的数据容器。(如果你想保留你的数据你应该在上述命令后列出容器名称删除每个容器本身):*
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Enter-Container"></a>
|
<a name="Enter-Container"></a>
|
||||||
### 进入容器 (通过SSH 进入一个运行中的容器)
|
### 进入容器 (通过 SSH 进入一个运行中的容器)
|
||||||
|
|
||||||
1 - 首先使用 `docker ps`命令查看正在运行的容器
|
1 - 首先使用 `docker ps` 命令查看正在运行的容器
|
||||||
|
|
||||||
2 - 进入某个容器使用:
|
2 - 进入某个容器使用:
|
||||||
|
|
||||||
@ -331,12 +286,6 @@ docker-compose exec mysql bash
|
|||||||
3 - 退出容器, 键入 `exit`.
|
3 - 退出容器, 键入 `exit`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Edit-Container"></a>
|
<a name="Edit-Container"></a>
|
||||||
### 编辑默认容器配置
|
### 编辑默认容器配置
|
||||||
打开 `docker-compose.yml` 然后 按照你想的修改.
|
打开 `docker-compose.yml` 然后 按照你想的修改.
|
||||||
@ -357,18 +306,10 @@ docker-compose exec mysql bash
|
|||||||
- "1111:6379"
|
- "1111:6379"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Edit-a-Docker-Image"></a>
|
<a name="Edit-a-Docker-Image"></a>
|
||||||
### 编辑Docker镜像
|
### 编辑 Docker 镜像
|
||||||
|
|
||||||
1 - 找到你想修改的镜像的 `dockerfile` ,
|
1 - 找到你想修改的镜像的 `Dockerfile` ,
|
||||||
<br>
|
<br>
|
||||||
例如: `mysql` 在 `mysql/Dockerfile`.
|
例如: `mysql` 在 `mysql/Dockerfile`.
|
||||||
|
|
||||||
@ -379,28 +320,19 @@ docker-compose exec mysql bash
|
|||||||
```bash
|
```bash
|
||||||
docker-compose build mysql
|
docker-compose build mysql
|
||||||
```
|
```
|
||||||
更多信息在容器重建中 [点击这里](#Build-Re-build-Containers).
|
|
||||||
|
|
||||||
|
更多信息在容器重建中[点击这里](#Build-Re-build-Containers).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Build-Re-build-Containers"></a>
|
<a name="Build-Re-build-Containers"></a>
|
||||||
### 建立/重建容器
|
### 建立/重建容器
|
||||||
|
|
||||||
|
如果你做任何改变 `Dockerfile` 确保你运行这个命令,可以让所有修改更改生效:
|
||||||
如果你做任何改变`dockerfile`确保你运行这个命令,可以让所有修改更改生效:
|
|
||||||
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker-compose build
|
docker-compose build
|
||||||
```
|
```
|
||||||
选择你可以指定哪个容器重建(而不是重建所有的容器):
|
|
||||||
|
|
||||||
|
选择你可以指定哪个容器重建(而不是重建所有的容器):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker-compose build {container-name}
|
docker-compose build {container-name}
|
||||||
@ -408,25 +340,11 @@ docker-compose build {container-name}
|
|||||||
|
|
||||||
如果你想重建整个容器,你可能需要使用 `--no-cache` 选项 (`docker-compose build --no-cache {container-name}`).
|
如果你想重建整个容器,你可能需要使用 `--no-cache` 选项 (`docker-compose build --no-cache {container-name}`).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Add-Docker-Images"></a>
|
<a name="Add-Docker-Images"></a>
|
||||||
### 增加更多软件 (Docker 镜像)
|
### 增加更多软件 (Docker 镜像)
|
||||||
|
|
||||||
为了增加镜像(软件), 编辑 `docker-compose.yml` 添加容器细节, 你需要熟悉 [docker compose 文件语法](https://docs.docker.com/compose/compose-file/).
|
为了增加镜像(软件), 编辑 `docker-compose.yml` 添加容器细节, 你需要熟悉 [docker compose 文件语法](https://docs.docker.com/compose/compose-file/).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="View-the-Log-files"></a>
|
<a name="View-the-Log-files"></a>
|
||||||
### 查看日志文件
|
### 查看日志文件
|
||||||
Nginx的日志在 `logs/nginx` 目录
|
Nginx的日志在 `logs/nginx` 目录
|
||||||
@ -437,19 +355,12 @@ Nginx的日志在 `logs/nginx` 目录
|
|||||||
docker logs {container-name}
|
docker logs {container-name}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Laravel"></a>
|
<a name="Laravel"></a>
|
||||||
### [Laravel]
|
### [Laravel]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="Install-Laravel"></a>
|
<a name="Install-Laravel"></a>
|
||||||
### 从Docker镜像安装Laravel
|
### 从 Docker 镜像安装 Laravel
|
||||||
|
|
||||||
1 - 首先你需要进入 Workspace 容器.
|
1 - 首先你需要进入 Workspace 容器.
|
||||||
|
|
||||||
2 - 安装 Laravel.
|
2 - 安装 Laravel.
|
||||||
@ -460,16 +371,15 @@ docker logs {container-name}
|
|||||||
composer create-project laravel/laravel my-cool-app "5.2.*"
|
composer create-project laravel/laravel my-cool-app "5.2.*"
|
||||||
```
|
```
|
||||||
|
|
||||||
> 我们建议使用 `composer create-project` 替换Laravel 安装器去安装Laravel.
|
> 我们建议使用 `composer create-project` 替换 Laravel 安装器去安装 Laravel.
|
||||||
|
|
||||||
关于更多Laravel安装内容请 [点击这儿](https://laravel.com/docs/master#installing-laravel).
|
关于更多 Laravel 安装内容请 [点击这儿](https://laravel.com/docs/master#installing-laravel).
|
||||||
|
|
||||||
|
|
||||||
3 - 编辑 `docker-compose.yml` 映射新的应用目录:
|
3 - 编辑 `docker-compose.yml` 映射新的应用目录:
|
||||||
系统默认LaraDock假定Laravel应用在LaraDock的父级目录中
|
系统默认 LaraDock 假定 Laravel 应用在 laradock 的父级目录中
|
||||||
By default LaraDock assumes the Laravel application is living in the parent directory of the laradock folder.
|
|
||||||
|
|
||||||
更新Laravel应用在 `my-cool-app` 目录中, 我们需要用 `../my-cool-app/:/var/www`替换 `../:/var/www` , 如下:
|
更新 Laravel 应用在 `my-cool-app` 目录中, 我们需要用 `../my-cool-app/:/var/www`替换 `../:/var/www` , 如下:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
application:
|
application:
|
||||||
@ -477,32 +387,33 @@ By default LaraDock assumes the Laravel application is living in the parent dire
|
|||||||
volumes:
|
volumes:
|
||||||
- ../my-cool-app/:/var/www
|
- ../my-cool-app/:/var/www
|
||||||
```
|
```
|
||||||
|
|
||||||
4 - 进入目录下继续工作..
|
4 - 进入目录下继续工作..
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd my-cool-app
|
cd my-cool-app
|
||||||
```
|
```
|
||||||
|
|
||||||
5 - 回到LaraDock安装步骤,看看如何编辑`env`的文件。
|
5 - 回到 LaraDock 安装步骤,看看如何编辑 `.env` 的文件。
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Run-Artisan-Commands"></a>
|
<a name="Run-Artisan-Commands"></a>
|
||||||
### 运行 Artisan 命令
|
### 运行 Artisan 命令
|
||||||
你可以从Workspace容器运行artisan命令和其他终端命令
|
|
||||||
|
|
||||||
1 - 确认Workspace容器已经运行.
|
你可以从 Workspace 容器运行 artisan 命令和其他终端命令
|
||||||
|
|
||||||
|
1 - 确认 Workspace 容器已经运行.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker-compose up -d workspace // ..and all your other containers
|
docker-compose up -d workspace // ..and all your other containers
|
||||||
```
|
```
|
||||||
|
|
||||||
2 - 找到Workspace容器名称:
|
2 - 找到 Workspace 容器名称:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker-compose ps
|
docker-compose ps
|
||||||
```
|
```
|
||||||
|
|
||||||
3 - 进入Workspace容器:
|
3 - 进入 Workspace 容器:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker-compose exec workspace bash
|
docker-compose exec workspace bash
|
||||||
@ -510,35 +421,33 @@ docker-compose exec workspace bash
|
|||||||
|
|
||||||
增加 `--user=laradock` (例如 `docker-compose exec --user=laradock workspace bash`) 作为您的主机的用户创建的文件.
|
增加 `--user=laradock` (例如 `docker-compose exec --user=laradock workspace bash`) 作为您的主机的用户创建的文件.
|
||||||
|
|
||||||
|
|
||||||
4 - 运行任何你想的 :)
|
4 - 运行任何你想的 :)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
php artisan
|
php artisan
|
||||||
```
|
```
|
||||||
```bash
|
```bash
|
||||||
Composer update
|
composer update
|
||||||
```
|
```
|
||||||
```bash
|
```bash
|
||||||
phpunit
|
phpunit
|
||||||
```
|
```
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Use-Redis"></a>
|
<a name="Use-Redis"></a>
|
||||||
### 使用 Redis
|
### 使用 Redis
|
||||||
1 - 首先务必用 `docker-compose up` 命令运行 (`redis`)容器.
|
1 - 首先务必用 `docker-compose up` 命令运行 (`redis`) 容器.
|
||||||
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker-compose up -d redis
|
docker-compose up -d redis
|
||||||
```
|
```
|
||||||
|
|
||||||
2 - 打开你的Laravel的 `.env` 文件 然后 配置`redis`的`REDIS_HOST`
|
2 - 打开你的Laravel的 `.env` 文件 然后 配置 `redis` 的 `REDIS_HOST`
|
||||||
|
|
||||||
```env
|
```env
|
||||||
REDIS_HOST=redis
|
REDIS_HOST=redis
|
||||||
```
|
```
|
||||||
如果在你的`.env` 文件没有找到`REDIS_HOST`变量。打开数据库配置文件`config/database.php`然后用`redis`替换默认IP`127.0.0.1`,例如:
|
|
||||||
|
如果在你的 `.env` 文件没有找到 `REDIS_HOST` 变量。打开数据库配置文件 `config/database.php` 然后用 `redis` 替换默认 IP `127.0.0.1`,例如:
|
||||||
|
|
||||||
|
|
||||||
```php
|
```php
|
||||||
@ -552,44 +461,35 @@ REDIS_HOST=redis
|
|||||||
],
|
],
|
||||||
```
|
```
|
||||||
|
|
||||||
3 - 启用Redis缓存或者开启Session管理也在`.env`文件中用`redis`替换默认`file`设置`CACHE_DRIVER` 和 `SESSION_DRIVER`
|
3 - 启用 Redis 缓存或者开启 Session 管理也在 `.env` 文件中用 `redis` 替换默认 `file` 设置 `CACHE_DRIVER` 和 `SESSION_DRIVER`
|
||||||
|
|
||||||
```env
|
```env
|
||||||
CACHE_DRIVER=redis
|
CACHE_DRIVER=redis
|
||||||
SESSION_DRIVER=redis
|
SESSION_DRIVER=redis
|
||||||
```
|
```
|
||||||
|
|
||||||
4 - 最好务必通过Compose安装 `predis/predis` 包 `(~1.0)`:
|
4 - 最好务必通过 Composer 安装 `predis/predis` 包 `(~1.0)`:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
composer require predis/predis:^1.0
|
composer require predis/predis:^1.0
|
||||||
```
|
```
|
||||||
|
|
||||||
5 - 你可以用以下代码在Laravel中手动测试:
|
5 - 你可以用以下代码在 Laravel 中手动测试:
|
||||||
|
|
||||||
```php
|
```php
|
||||||
\Cache::store('redis')->put('LaraDock', 'Awesome', 10);
|
\Cache::store('redis')->put('LaraDock', 'Awesome', 10);
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Use-Mongo"></a>
|
<a name="Use-Mongo"></a>
|
||||||
### 使用 Mongo
|
### 使用 Mongo
|
||||||
|
|
||||||
1 - 首先在Workspace和PHP-FPM容器中安装`mongo`:
|
1 - 首先在 Workspace 和 PHP-FPM 容器中安装 `mongo`:
|
||||||
<br>
|
|
||||||
a) 打开 `docker-compose.yml` 文件
|
|
||||||
<br>
|
|
||||||
b) 在Workspace容器中找到`INSTALL_MONGO`选项:
|
|
||||||
|
|
||||||
<br>
|
a) 打开 `docker-compose.yml` 文件
|
||||||
c) 设置为 `true`
|
b) 在 Workspace 容器中找到 `INSTALL_MONGO` 选项:
|
||||||
<br>
|
c) 设置为 `true`
|
||||||
d) 在PHP-FPM容器中找到`INSTALL_MONGO` <br>
|
d) 在 PHP-FPM 容器中找到 `INSTALL_MONGO`
|
||||||
e) 设置为 `true`
|
e) 设置为 `true`
|
||||||
|
|
||||||
相关配置项如下:
|
相关配置项如下:
|
||||||
|
|
||||||
@ -608,18 +508,19 @@ e) 设置为 `true`
|
|||||||
...
|
...
|
||||||
```
|
```
|
||||||
|
|
||||||
2 - 重建`Workspace、PHP-FPM`容器 `docker-compose build workspace php-fpm`
|
2 - 重建 `Workspace、PHP-FPM` 容器
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker-compose build workspace php-fpm
|
||||||
|
```
|
||||||
|
|
||||||
|
3 - 使用 `docker-compose up` 命令运行 MongoDB 容器 (`mongo`)
|
||||||
3 - 使用`docker-compose up` 命令运行MongoDB容器 (`mongo`)
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker-compose up -d mongo
|
docker-compose up -d mongo
|
||||||
```
|
```
|
||||||
|
|
||||||
|
4 - 在 `config/database.php` 文件添加 MongoDB 的配置项:
|
||||||
4 - 在`config/database.php` 文件添加MongoDB的配置项:
|
|
||||||
|
|
||||||
```php
|
```php
|
||||||
'connections' => [
|
'connections' => [
|
||||||
@ -641,65 +542,53 @@ docker-compose up -d mongo
|
|||||||
],
|
],
|
||||||
```
|
```
|
||||||
|
|
||||||
5 - 打开Laravel的 `.env` 文件 然后 更新以下字段:
|
5 - 打开 Laravel 的 `.env` 文件然后更新以下字段:
|
||||||
|
|
||||||
- 设置 `DB_HOST` 为 `mongo`的主机IP.
|
- 设置 `DB_HOST` 为 `mongo` 的主机 IP.
|
||||||
- 设置 `DB_PORT` 为 `27017`.
|
- 设置 `DB_PORT` 为 `27017`.
|
||||||
- 设置 `DB_DATABASE` 为 `database`.
|
- 设置 `DB_DATABASE` 为 `database`.
|
||||||
|
|
||||||
|
|
||||||
6 - 最后务必通过Composer安装`jenssegers/mongodb`包,添加服务提供者(Laravel Service Provider)
|
6 - 最后务必通过 Composer 安装 `jenssegers/mongodb` 包,添加服务提供者(Laravel Service Provider)
|
||||||
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
composer require jenssegers/mongodb
|
composer require jenssegers/mongodb
|
||||||
```
|
```
|
||||||
|
|
||||||
更多细节内容 [点击这儿](https://github.com/jenssegers/laravel-mongodb#installation).
|
更多细节内容 [点击这儿](https://github.com/jenssegers/laravel-mongodb#installation).
|
||||||
|
|
||||||
7 - 测试:
|
7 - 测试:
|
||||||
|
|
||||||
- 首先让你的模型继承Mongo的Eloquent Model. 查看 [文档](https://github.com/jenssegers/laravel-mongodb#eloquent).
|
- 首先让你的模型继承 Mongo 的 Eloquent Model. 查看 [文档](https://github.com/jenssegers/laravel-mongodb#eloquent).
|
||||||
- 进入Workspace容器.
|
- 进入 Workspace 容器.
|
||||||
- 迁移数据库 `php artisan migrate`.
|
- 迁移数据库 `php artisan migrate`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="PHP"></a>
|
<a name="PHP"></a>
|
||||||
### [PHP]
|
### [PHP]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="Install-PHP-Extensions"></a>
|
<a name="Install-PHP-Extensions"></a>
|
||||||
### 安装PHP拓展
|
### 安装 PHP 拓展
|
||||||
安装PHP扩展之前,你必须决定你是否需要`FPM`或`CLI`,因为他们安装在不同的容器上,如果你需要两者,则必须编辑两个容器。
|
|
||||||
|
|
||||||
PHP-FPM拓展务必安装在 `php-fpm/Dockerfile-XX`. *(用你PHP版本号替换 XX)*.
|
安装 PHP 扩展之前,你必须决定你是否需要 `FPM` 或 `CLI`,因为他们安装在不同的容器上,如果你需要两者,则必须编辑两个容器。
|
||||||
<br>
|
|
||||||
PHP-CLI拓展应该安装到`workspace/Dockerfile`.
|
|
||||||
|
|
||||||
|
PHP-FPM 拓展务必安装在 `php-fpm/Dockerfile-XX`. *(用你 PHP 版本号替换 XX)*.
|
||||||
|
|
||||||
|
PHP-CLI 拓展应该安装到 `workspace/Dockerfile`.
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Change-the-PHP-FPM-Version"></a>
|
<a name="Change-the-PHP-FPM-Version"></a>
|
||||||
### 修改PHP-FPM版本
|
### 修改 PHP-FPM 版本
|
||||||
默认运行**PHP-FPM 7.0**版本.
|
默认运行 **PHP-FPM 7.0** 版本.
|
||||||
|
|
||||||
>PHP-FPM负责服务你的应用代码,如果你是计划运行您的应用程序在不同PHP-FPM版本上,则不需要更改PHP-CLI版本。
|
|
||||||
|
|
||||||
|
>PHP-FPM 负责服务你的应用代码,如果你是计划运行您的应用程序在不同 PHP-FPM 版本上,则不需要更改 PHP-CLI 版本。
|
||||||
|
|
||||||
#### A) 切换版本 PHP `7.0` 到 PHP `5.6`
|
#### A) 切换版本 PHP `7.0` 到 PHP `5.6`
|
||||||
|
|
||||||
1 - 打开 `docker-compose.yml`。
|
1 - 打开 `docker-compose.yml`。
|
||||||
|
|
||||||
2 - 在PHP容器的 `Dockerfile-70`文件。
|
2 - 在PHP容器的 `Dockerfile-70` 文件。
|
||||||
|
|
||||||
3 - 修改版本号, 用`Dockerfile-56`替换 `Dockerfile-70` , 例如:
|
3 - 修改版本号, 用 `Dockerfile-56` 替换 `Dockerfile-70` , 例如:
|
||||||
|
|
||||||
```txt
|
```txt
|
||||||
php-fpm:
|
php-fpm:
|
||||||
@ -718,57 +607,39 @@ docker-compose build php
|
|||||||
|
|
||||||
|
|
||||||
#### B) 切换版本 PHP `7.0` 或 `5.6` 到 PHP `5.5`
|
#### B) 切换版本 PHP `7.0` 或 `5.6` 到 PHP `5.5`
|
||||||
我们已不在本地支持PHP5.5,但是你按照以下步骤获取:
|
我们已不在本地支持 PHP5.5,但是你按照以下步骤获取:
|
||||||
|
|
||||||
1 - 克隆 `https://github.com/laradock/php-fpm`.
|
1 - 克隆 `https://github.com/laradock/php-fpm`.
|
||||||
|
|
||||||
3 - 重命名 `Dockerfile-56` 为 `Dockerfile-55`.
|
2 - 重命名 `Dockerfile-56` 为 `Dockerfile-55`.
|
||||||
|
|
||||||
3 - 编辑文件 `FROM php:5.6-fpm` 为 `FROM php:5.5-fpm`.
|
3 - 编辑文件 `FROM php:5.6-fpm` 为 `FROM php:5.5-fpm`.
|
||||||
|
|
||||||
4 - 从 `Dockerfile-55`构建镜像.
|
4 - 从 `Dockerfile-55` 构建镜像.
|
||||||
|
|
||||||
5 - 打开 `docker-compose.yml` 文件.
|
5 - 打开 `docker-compose.yml` 文件.
|
||||||
|
|
||||||
6 - 将 `php-fpm` 指向你的 `Dockerfile-55` 文件.
|
6 - 将 `php-fpm` 指向你的 `Dockerfile-55` 文件.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Change-the-PHP-CLI-Version"></a>
|
<a name="Change-the-PHP-CLI-Version"></a>
|
||||||
### 修改 PHP-CLI 版本
|
### 修改 PHP-CLI 版本
|
||||||
默认运行**PHP-CLI 7.0**版本
|
默认运行 **PHP-CLI 7.0** 版本
|
||||||
|
|
||||||
>说明: PHP-CLI只用于执行Artisan和Composer命令,不服务于你的应用代码,这是PHP-FPM的工作,所以编辑PHP-CLI的版本不是很重要。
|
>说明: PHP-CLI 只用于执行 Artisan 和 Composer 命令,不服务于你的应用代码,这是 PHP-FPM 的工作,所以编辑 PHP-CLI 的版本不是很重要。
|
||||||
PHP-CLI安装在Workspace容器,改变PHP-CLI版本你需要编辑`workspace/Dockerfile`.
|
PHP-CLI 安装在 Workspace 容器,改变 PHP-CLI 版本你需要编辑 `workspace/Dockerfile`.
|
||||||
现在你必须手动修改PHP-FPM的`Dockerfile`或者创建一个新的。 (可以考虑贡献功能).
|
现在你必须手动修改 PHP-FPM 的 `Dockerfile` 或者创建一个新的。 (可以考虑贡献功能).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Install-xDebug"></a>
|
<a name="Install-xDebug"></a>
|
||||||
### 安装 xDebug
|
### 安装 xDebug
|
||||||
|
|
||||||
1 - 首先在Workspace和PHP-FPM容器安装 `xDebug`:
|
1 - 首先在 Workspace 和 PHP-FPM 容器安装 `xDebug`:
|
||||||
<br>
|
|
||||||
a) 打开 `docker-compose.yml` 文件
|
a) 打开 `docker-compose.yml` 文件
|
||||||
<br>
|
b) 在 Workspace 容器中找到 `INSTALL_XDEBUG` 选项
|
||||||
b) 在Workspace容器中找到 `INSTALL_XDEBUG` 选项
|
c) 改为 `true`
|
||||||
<br>
|
d) 在 PHP-FPM 容器中找到 `INSTALL_XDEBUG ` 选项
|
||||||
c) 改为 `true`
|
e) 改为 `true`
|
||||||
<br>
|
|
||||||
d) 在PHP-FPM容器中找到 `INSTALL_XDEBUG ` 选项<br>
|
|
||||||
e) 改为 `true`
|
|
||||||
|
|
||||||
例如:
|
例如:
|
||||||
|
|
||||||
@ -789,44 +660,35 @@ e) 改为 `true`
|
|||||||
|
|
||||||
2 - 重建容器 `docker-compose build workspace php-fpm`
|
2 - 重建容器 `docker-compose build workspace php-fpm`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Misc"></a>
|
<a name="Misc"></a>
|
||||||
### [Misc]
|
### [Misc]
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Use-custom-Domain"></a>
|
<a name="Use-custom-Domain"></a>
|
||||||
### 使用自定义域名 (替换Docker的IP)
|
### 使用自定义域名 (替换 Docker 的 IP)
|
||||||
|
|
||||||
假定你的自定义域名是 `laravel.dev`
|
假定你的自定义域名是 `laravel.dev`
|
||||||
|
|
||||||
1 - 打开 `/etc/hosts` 文件 添加以下内容,映射你的localhost 地址 `127.0.0.1` 为 `laravel.dev` 域名
|
1 - 打开 `/etc/hosts` 文件添加以下内容,映射你的 localhost 地址 `127.0.0.1` 为 `laravel.dev` 域名
|
||||||
```bash
|
```bash
|
||||||
127.0.0.1 laravel.dev
|
127.0.0.1 laravel.dev
|
||||||
```
|
```
|
||||||
|
|
||||||
2 - 打开你的浏览器访问 `{http://laravel.dev}`
|
2 - 打开你的浏览器访问 `{http://laravel.dev}`
|
||||||
|
|
||||||
你可以在nginx配置文件自定义服务器名称,如下:
|
你可以在 nginx 配置文件自定义服务器名称,如下:
|
||||||
|
|
||||||
|
|
||||||
```conf
|
```conf
|
||||||
server_name laravel.dev;
|
server_name laravel.dev;
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Enable-Global-Composer-Build-Install"></a>
|
<a name="Enable-Global-Composer-Build-Install"></a>
|
||||||
### 安装全局Composer命令
|
### 安装全局 Composer 命令
|
||||||
|
|
||||||
为启用全局Composer Install在容器构建中允许你安装composer的依赖,然后构建完成后就是可用的。
|
为启用全局 Composer Install 在容器构建中允许你安装 composer 的依赖,然后构建完成后就是可用的。
|
||||||
|
|
||||||
1 - 打开 `docker-compose.yml` 文件
|
1 - 打开 `docker-compose.yml` 文件
|
||||||
|
|
||||||
2 - 在Workspace容器找到 `COMPOSER_GLOBAL_INSTALL` 选项并设置为 `true`
|
2 - 在 Workspace 容器找到 `COMPOSER_GLOBAL_INSTALL` 选项并设置为 `true`
|
||||||
|
|
||||||
例如:
|
例如:
|
||||||
|
|
||||||
@ -840,19 +702,16 @@ server_name laravel.dev;
|
|||||||
```
|
```
|
||||||
3 - 现在特价你的依赖关系到 `workspace/composer.json`
|
3 - 现在特价你的依赖关系到 `workspace/composer.json`
|
||||||
|
|
||||||
4 - 重建Workspace容器 `docker-compose build workspace`
|
4 - 重建 Workspace 容器 `docker-compose build workspace`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Install-Prestissimo"></a>
|
<a name="Install-Prestissimo"></a>
|
||||||
### 安装 Prestissimo
|
### 安装 Prestissimo
|
||||||
|
|
||||||
[Prestissimo](https://github.com/hirak/prestissimo) 是一个平行安装功能的composer插件。
|
[Prestissimo](https://github.com/hirak/prestissimo) 是一个平行安装功能的 composer 插件。
|
||||||
1 - 在安装期间,使全局Composer Install 正在运行:
|
|
||||||
|
|
||||||
点击这个 [启用全局Composer构建安装](#Enable-Global-Composer-Build-Install) 然后继续步骤1、2.
|
1 - 在安装期间,使全局 Composer Install 正在运行:
|
||||||
|
|
||||||
|
点击这个 [启用全局 Composer 构建安装](#Enable-Global-Composer-Build-Install) 然后继续步骤1、2.
|
||||||
|
|
||||||
2 - 添加 prestissimo 依赖到 Composer:
|
2 - 添加 prestissimo 依赖到 Composer:
|
||||||
|
|
||||||
@ -860,19 +719,17 @@ a - 现在打开 `workspace/composer.json` 文件
|
|||||||
|
|
||||||
b - 添加 `"hirak/prestissimo": "^0.3"` 依赖
|
b - 添加 `"hirak/prestissimo": "^0.3"` 依赖
|
||||||
|
|
||||||
c - 重建Workspace容器 `docker-compose build workspace`
|
c - 重建 Workspace 容器 `docker-compose build workspace`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Install-Node"></a>
|
<a name="Install-Node"></a>
|
||||||
### 安装 Node + NVM
|
### 安装 Node + NVM
|
||||||
|
|
||||||
在Workspace 容器安装 NVM 和 NodeJS
|
在 Workspace 容器安装 NVM 和 NodeJS
|
||||||
|
|
||||||
1 - 打开 `docker-compose.yml` 文件
|
1 - 打开 `docker-compose.yml` 文件
|
||||||
|
|
||||||
2 - 在Workspace容器找到 `INSTALL_NODE` 选项设为 `true`
|
2 - 在 Workspace 容器找到 `INSTALL_NODE` 选项设为 `true`
|
||||||
|
|
||||||
例如:
|
例如:
|
||||||
|
|
||||||
@ -887,17 +744,14 @@ c - 重建Workspace容器 `docker-compose build workspace`
|
|||||||
|
|
||||||
3 - 重建容器 `docker-compose build workspace`
|
3 - 重建容器 `docker-compose build workspace`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="debugging"></a>
|
<a name="debugging"></a>
|
||||||
### Debugging
|
### Debugging
|
||||||
|
|
||||||
*这里是你可能面临的常见问题列表,以及可能的解决方案.*
|
*这里是你可能面临的常见问题列表,以及可能的解决方案.*
|
||||||
|
|
||||||
#### 看到空白页而不是Laravel的欢迎页面!
|
#### 看到空白页而不是 Laravel 的欢迎页面!
|
||||||
|
|
||||||
在Laravel根目录,运行下列命令:
|
在 Laravel 根目录,运行下列命令:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo chmod -R 777 storage bootstrap/cache
|
sudo chmod -R 777 storage bootstrap/cache
|
||||||
@ -909,34 +763,28 @@ sudo chmod -R 777 storage bootstrap/cache
|
|||||||
|
|
||||||
#### 看到包含 `address already in use` 的错误
|
#### 看到包含 `address already in use` 的错误
|
||||||
|
|
||||||
确保你想运行的服务端口(80, 3306, etc.)不是已经被其他程序使用,例如`apache`/`httpd`服务或其他安装的开发工具
|
确保你想运行的服务端口(80, 3306, etc.)不是已经被其他程序使用,例如 `apache`/`httpd` 服务或其他安装的开发工具
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="upgrading-laradock"></a>
|
<a name="upgrading-laradock"></a>
|
||||||
### LaraDock 升级
|
### LaraDock 升级
|
||||||
|
|
||||||
|
|
||||||
从Docker Toolbox (VirtualBox)移动到Docker Native (for Mac/Windows),需要从 LaraDock v3.* 升级到 v4.*:
|
从 Docker Toolbox (VirtualBox) 移动到 Docker Native (for Mac/Windows),需要从 LaraDock v3.* 升级到 v4.*:
|
||||||
|
|
||||||
1. 停止Docker虚拟机 `docker-machine stop {default}`
|
1. 停止 Docker 虚拟机 `docker-machine stop {default}`
|
||||||
2. 安装 Docker [Mac](https://docs.docker.com/docker-for-mac/) 或 [Windows](https://docs.docker.com/docker-for-windows/).
|
2. 安装 Docker [Mac](https://docs.docker.com/docker-for-mac/) 或 [Windows](https://docs.docker.com/docker-for-windows/).
|
||||||
3. 升级 LaraDock 到 `v4.*.*` (`git pull origin master`)
|
3. 升级 LaraDock 到 `v4.*.*` (`git pull origin master`)
|
||||||
4. 像之前一样使用LaraDock: `docker-compose up -d nginx mysql`.
|
4. 像之前一样使用 LaraDock: `docker-compose up -d nginx mysql`.
|
||||||
|
|
||||||
**说明:** 如果你面临任何上面的问题的最后一步:重建你所有的容器
|
**说明:** 如果你面临任何上面的问题的最后一步:重建你所有的容器
|
||||||
`docker-compose build --no-cache`
|
```bash
|
||||||
|
docker-compose build --no-cache
|
||||||
|
```
|
||||||
"警告:容器数据可能会丢失!"
|
"警告:容器数据可能会丢失!"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
## 贡献
|
## 贡献
|
||||||
这个小项目是由一个有一个全职工作和很多的职责的人建立的,所以如果你喜欢这个项目,并且发现它需要一个bug修复或支持或新软件或升级任何容器,或其他任何. . 你是非常欢迎,欢迎毫不不犹豫地贡献吧:)
|
这个小项目是由一个有一个全职工作和很多的职责的人建立的,所以如果你喜欢这个项目,并且发现它需要一个 bug 修复或支持或新软件或升级任何容器,或其他任何. . 你是非常欢迎,欢迎毫不不犹豫地贡献吧:)
|
||||||
|
|
||||||
#### 阅读我们的 [贡献说明](https://github.com/laradock/laradock/blob/master/CONTRIBUTING.md)
|
#### 阅读我们的 [贡献说明](https://github.com/laradock/laradock/blob/master/CONTRIBUTING.md)
|
||||||
|
|
||||||
@ -945,9 +793,9 @@ sudo chmod -R 777 storage bootstrap/cache
|
|||||||
|
|
||||||
从聊天室 [Gitter](https://gitter.im/LaraDock/laradock) 社区获取帮助和支持.
|
从聊天室 [Gitter](https://gitter.im/LaraDock/laradock) 社区获取帮助和支持.
|
||||||
|
|
||||||
你也可以打开Github上的 [issue](https://github.com/laradock/laradock/issues) (将被贴上问题和答案) 或与大家讨论 [Gitter](https://gitter.im/LaraDock/laradock).
|
你也可以打开 Github 上的 [issue](https://github.com/laradock/laradock/issues) (将被贴上问题和答案) 或与大家讨论 [Gitter](https://gitter.im/LaraDock/laradock).
|
||||||
|
|
||||||
Docker或Laravel的特别帮助,你可以在[Codementor.io](https://www.codementor.io/mahmoudz)上直接和项目创始人在线沟通
|
Docker 或 Laravel 的特别帮助,你可以在 [Codementor.io](https://www.codementor.io/mahmoudz) 上直接和项目创始人在线沟通
|
||||||
|
|
||||||
## 关于作者
|
## 关于作者
|
||||||
|
|
||||||
|
29
README.md
@ -1,10 +1,12 @@
|
|||||||
# Laradock
|
[](https://travis-ci.org/laradock/laradock)
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
> Use Docker first and learn about it later.
|
> Use Docker first and learn about it later.
|
||||||
|
|
||||||
[](http://zalt.me)
|
A Docker PHP development environment that facilitates running **PHP** Apps on **Docker**.
|
||||||
|
|
||||||
Laradock is a Docker PHP development environment that facilitates running **PHP** Apps on **Docker**.
|
[](http://zalt.me)
|
||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
|
|
||||||
@ -12,20 +14,15 @@ Laradock is a Docker PHP development environment that facilitates running **PHP*
|
|||||||
|
|
||||||
## Credits
|
## Credits
|
||||||
|
|
||||||
**Admins / Maintainers:**
|
**Maintainers:**
|
||||||
|
|
||||||
- [Mahmoud Zalt](https://github.com/Mahmoudz) (mahmoudz) [ [Twitter](https://twitter.com/Mahmoud_Zalt) | [Personal Site](http://zalt.me) | [LinkedIn](https://www.linkedin.com/in/mahmoudzalt) ]
|
- [Mahmoud Zalt](https://github.com/Mahmoudz) @mahmoudz | [Twitter](https://twitter.com/Mahmoud_Zalt) | [Site](http://zalt.me)
|
||||||
- [Bo-Yi Wu](https://github.com/appleboy) (appleboy) [ [Twitter](https://twitter.com/appleboy) ]
|
- [Bo-Yi Wu](https://github.com/appleboy) @appleboy | [Twitter](https://twitter.com/appleboy)
|
||||||
- [Philippe Trépanier](https://github.com/philtrep) (philtrep)
|
- [Philippe Trépanier](https://github.com/philtrep) @philtrep
|
||||||
- [Mike Erickson](https://github.com/mikeerickson) (mikeerickson)
|
- [Mike Erickson](https://github.com/mikeerickson) @mikeerickson
|
||||||
- [Dwi Fahni Denni](https://github.com/zeroc0d3) (zeroc0d3)
|
- [Dwi Fahni Denni](https://github.com/zeroc0d3) @zeroc0d3
|
||||||
- [Thor Erik](https://github.com/thorerik) (thorerik)
|
- [Thor Erik](https://github.com/thorerik) @thorerik
|
||||||
- [Winfried van Loon](https://github.com/winfried-van-loon) (winfried-van-loon)
|
- [Winfried van Loon](https://github.com/winfried-van-loon) @winfried-van-loon
|
||||||
- Contribute and join us!
|
|
||||||
|
|
||||||
**Contributors:**
|
|
||||||
|
|
||||||
- [Contributors](https://github.com/laradock/laradock/graphs/contributors)
|
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
@ -1,216 +0,0 @@
|
|||||||
#### Install Docker
|
|
||||||
|
|
||||||
- Visit [DigitalOcean](https://cloud.digitalocean.com/login) and login.
|
|
||||||
- Click the `Create Droplet` button.
|
|
||||||
- Open the `One-click apps` tab.
|
|
||||||
- Select Docker with your preferred version.
|
|
||||||
- Continue creating the droplet as you normally would.
|
|
||||||
- If needed, check your e-mail for the droplet root password.
|
|
||||||
|
|
||||||
#### SSH to your Server
|
|
||||||
|
|
||||||
Find the IP address of the droplet in the DigitalOcean interface. Use it to connect to the server.
|
|
||||||
|
|
||||||
```
|
|
||||||
ssh root@ipaddress
|
|
||||||
```
|
|
||||||
|
|
||||||
You may be prompted for a password. Type the one you found within your e-mailbox. It'll then ask you to change the password.
|
|
||||||
|
|
||||||
You can now check if Docker is available:
|
|
||||||
|
|
||||||
```
|
|
||||||
$root@server:~# docker
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Set Up Your Laravel Project
|
|
||||||
|
|
||||||
```
|
|
||||||
$root@server:~# apt-get install git
|
|
||||||
$root@server:~# git clone https://github.com/laravel/laravel
|
|
||||||
$root@server:~# cd laravel
|
|
||||||
$root@server:~/laravel/ git submodule add https://github.com/LaraDock/laradock.git
|
|
||||||
$root@server:~/laravel/ cd laradock
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Install docker-compose command
|
|
||||||
|
|
||||||
```
|
|
||||||
$root@server:~/laravel/laradock# curl -L https://github.com/docker/compose/releases/download/1.8.0/run.sh > /usr/local/bin/docker-compose
|
|
||||||
$root@server:~/chmod +x /usr/local/bin/docker-compose
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Create Your LaraDock Containers
|
|
||||||
|
|
||||||
```
|
|
||||||
$root@server:~/laravel/laradock# docker-compose up -d nginx mysql
|
|
||||||
```
|
|
||||||
|
|
||||||
Note that more containers are available, find them in the [docs](http://laradock.io/introduction/#supported-software-containers) or the `docker-compose.yml` file.
|
|
||||||
|
|
||||||
#### Go to Your Workspace
|
|
||||||
|
|
||||||
```
|
|
||||||
docker-compose exec workspace bash
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Install and configure Laravel
|
|
||||||
|
|
||||||
Let's install Laravel's dependencies, add the `.env` file, generate the key and give proper permissions to the cache folder.
|
|
||||||
|
|
||||||
```
|
|
||||||
$ root@workspace:/var/www# composer install
|
|
||||||
$ root@workspace:/var/www# cp .env.example .env
|
|
||||||
$ root@workspace:/var/www# php artisan key:generate
|
|
||||||
$ root@workspace:/var/www# exit
|
|
||||||
$root@server:~/laravel/laradock# cd ..
|
|
||||||
$root@server:~/laravel# sudo chmod -R 777 storage bootstrap/cache
|
|
||||||
```
|
|
||||||
|
|
||||||
You can then view your Laravel site by visiting the IP address of your server in your browser. For example:
|
|
||||||
|
|
||||||
```
|
|
||||||
http://192.168.1.1
|
|
||||||
```
|
|
||||||
|
|
||||||
It should show you the Laravel default welcome page.
|
|
||||||
|
|
||||||
However, we want it to show up using your custom domain name, as well.
|
|
||||||
|
|
||||||
#### Using Your Own Domain Name
|
|
||||||
|
|
||||||
Login to your DNS provider, such as Godaddy, Namecheap.
|
|
||||||
|
|
||||||
Point the Custom Domain Name Server to:
|
|
||||||
|
|
||||||
```
|
|
||||||
ns1.digitalocean.com
|
|
||||||
ns2.digitalocean.com
|
|
||||||
ns3.digitalocean.com
|
|
||||||
```
|
|
||||||
|
|
||||||
Within DigitalOcean, you'll need to change some settings, too.
|
|
||||||
|
|
||||||
Visit: https://cloud.digitalocean.com/networking/domains
|
|
||||||
|
|
||||||
Add your domain name and choose the server IP you'd provision earlier.
|
|
||||||
|
|
||||||
#### Serving Site With NGINX (HTTP ONLY)
|
|
||||||
|
|
||||||
Go back to command line.
|
|
||||||
|
|
||||||
```
|
|
||||||
$root@server:~/laravel/laradock# cd nginx
|
|
||||||
$root@server:~/laravel/laradock/nginx# vim laravel.conf
|
|
||||||
```
|
|
||||||
|
|
||||||
Remove `default_server`
|
|
||||||
|
|
||||||
```
|
|
||||||
listen 80 default_server;
|
|
||||||
listen [::]:80 default_server ipv6only=on;
|
|
||||||
```
|
|
||||||
|
|
||||||
And add `server_name` (your custom domain)
|
|
||||||
|
|
||||||
```
|
|
||||||
listen 80;
|
|
||||||
listen [::]:80 ipv6only=on;
|
|
||||||
server_name yourdomain.com;
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Rebuild Your Nginx
|
|
||||||
|
|
||||||
```
|
|
||||||
$root@server:~/laravel/laradock/nginx# docker-compose down
|
|
||||||
$root@server:~/laravel/laradock/nginx# docker-compose build nginx
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Re Run Your Containers MYSQL and NGINX
|
|
||||||
|
|
||||||
```
|
|
||||||
$root@server:~/laravel/laradock/nginx# docker-compose up -d nginx mysql
|
|
||||||
```
|
|
||||||
|
|
||||||
**View Your Site with HTTP ONLY (http://yourdomain.com)**
|
|
||||||
|
|
||||||
#### Run Site on SSL with Let's Encrypt Certificate
|
|
||||||
|
|
||||||
**Note: You need to Use Caddy here Instead of Nginx**
|
|
||||||
|
|
||||||
To go Caddy Folders and Edit CaddyFile
|
|
||||||
|
|
||||||
```
|
|
||||||
$root@server:~/laravel/laradock# cd caddy
|
|
||||||
$root@server:~/laravel/laradock/caddy# vim Caddyfile
|
|
||||||
```
|
|
||||||
|
|
||||||
Remove 0.0.0.0:80
|
|
||||||
|
|
||||||
```
|
|
||||||
0.0.0.0:80
|
|
||||||
root /var/www/public
|
|
||||||
```
|
|
||||||
|
|
||||||
and replace with your https://yourdomain.com
|
|
||||||
|
|
||||||
```
|
|
||||||
https://yourdomain.com
|
|
||||||
root /var/www/public
|
|
||||||
```
|
|
||||||
|
|
||||||
uncomment tls
|
|
||||||
|
|
||||||
```
|
|
||||||
#tls self-signed
|
|
||||||
```
|
|
||||||
|
|
||||||
and replace self-signed with your email address
|
|
||||||
|
|
||||||
```
|
|
||||||
tls serverbreaker@gmai.com
|
|
||||||
```
|
|
||||||
|
|
||||||
This is needed Prior to Creating Let's Encypt
|
|
||||||
|
|
||||||
#### Run Your Caddy Container without the -d flag and Generate SSL with Let's Encrypt
|
|
||||||
|
|
||||||
```
|
|
||||||
$root@server:~/laravel/laradock/caddy# docker-compose up caddy
|
|
||||||
```
|
|
||||||
|
|
||||||
You'll be prompt here to enter your email... you may enter it or not
|
|
||||||
|
|
||||||
```
|
|
||||||
Attaching to laradock_mysql_1, laradock_caddy_1
|
|
||||||
caddy_1 | Activating privacy features...
|
|
||||||
caddy_1 | Your sites will be served over HTTPS automatically using Let's Encrypt.
|
|
||||||
caddy_1 | By continuing, you agree to the Let's Encrypt Subscriber Agreement at:
|
|
||||||
caddy_1 | https://letsencrypt.org/documents/LE-SA-v1.0.1-July-27-2015.pdf
|
|
||||||
caddy_1 | Activating privacy features... done.
|
|
||||||
caddy_1 | https://yourdomain.com
|
|
||||||
caddy_1 | http://yourdomain.com
|
|
||||||
```
|
|
||||||
|
|
||||||
After it finishes, press `Ctrl` + `C` to exit.
|
|
||||||
|
|
||||||
#### Stop All Containers and ReRun Caddy and Other Containers on Background
|
|
||||||
|
|
||||||
```
|
|
||||||
$root@server:~/laravel/laradock/caddy# docker-compose down
|
|
||||||
$root@server:~/laravel/laradock/caddy# docker-compose up -d mysql caddy
|
|
||||||
```
|
|
||||||
|
|
||||||
View your Site in the Browser Securely Using HTTPS (https://yourdomain.com)
|
|
||||||
|
|
||||||
**Note that Certificate will be Automatically Renew By Caddy**
|
|
||||||
|
|
||||||
>References:
|
|
||||||
>
|
|
||||||
- [https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04](https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04)
|
|
||||||
- [https://www.digitalocean.com/products/one-click-apps/docker/](https://www.digitalocean.com/products/one-click-apps/docker/)
|
|
||||||
- [https://docs.docker.com/engine/installation/linux/ubuntulinux/](https://docs.docker.com/engine/installation/linux/ubuntulinux/)
|
|
||||||
- [https://docs.docker.com/compose/install/](https://docs.docker.com/compose/install/)
|
|
||||||
- [https://caddyserver.com/docs/automatic-https](https://caddyserver.com/docs/automatic-https)
|
|
||||||
- [https://caddyserver.com/docs/tls](https://caddyserver.com/docs/tls)
|
|
||||||
- [https://caddyserver.com/docs/caddyfile](https://caddyserver.com/docs/caddyfile)
|
|
28
_scripts/travis-build.sh
Executable file
@ -0,0 +1,28 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
#### Build the Docker Images
|
||||||
|
if [ -n "${PHP_VERSION}" ]; then
|
||||||
|
cp env-example .env
|
||||||
|
sed -i -- 's/=false/=true/g' .env
|
||||||
|
cat .env
|
||||||
|
docker-compose build
|
||||||
|
docker images
|
||||||
|
fi
|
||||||
|
|
||||||
|
#### Generate the Laradock Documentation site using Hugo
|
||||||
|
if [ -n "${HUGO_VERSION}" ]; then
|
||||||
|
HUGO_PACKAGE=hugo_${HUGO_VERSION}_Linux-64bit
|
||||||
|
HUGO_BIN=hugo_${HUGO_VERSION}_linux_amd64
|
||||||
|
|
||||||
|
# Download hugo binary
|
||||||
|
curl -L https://github.com/spf13/hugo/releases/download/v$HUGO_VERSION/$HUGO_PACKAGE.tar.gz | tar xz
|
||||||
|
mkdir $HOME/bin
|
||||||
|
mv ./${HUGO_BIN}/${HUGO_BIN} $HOME/bin/hugo
|
||||||
|
|
||||||
|
# Remove existing docs
|
||||||
|
rm -r ./docs
|
||||||
|
|
||||||
|
# Build docs
|
||||||
|
cd DOCUMENTATION
|
||||||
|
hugo
|
||||||
|
fi
|
@ -29,7 +29,6 @@ services:
|
|||||||
- INSTALL_DEPLOYER=${WORKSPACE_INSTALL_DEPLOYER}
|
- INSTALL_DEPLOYER=${WORKSPACE_INSTALL_DEPLOYER}
|
||||||
- INSTALL_LINUXBREW=${WORKSPACE_INSTALL_LINUXBREW}
|
- INSTALL_LINUXBREW=${WORKSPACE_INSTALL_LINUXBREW}
|
||||||
- INSTALL_MC=${WORKSPACE_INSTALL_MC}
|
- INSTALL_MC=${WORKSPACE_INSTALL_MC}
|
||||||
- INSTALL_SYMFONY=${WORKSPACE_INSTALL_SYMFONY}
|
|
||||||
- PUID=${WORKSPACE_PUID}
|
- PUID=${WORKSPACE_PUID}
|
||||||
- PGID=${WORKSPACE_PGID}
|
- PGID=${WORKSPACE_PGID}
|
||||||
- NODE_VERSION=${WORKSPACE_NODE_VERSION}
|
- NODE_VERSION=${WORKSPACE_NODE_VERSION}
|
||||||
@ -70,6 +69,8 @@ services:
|
|||||||
dockerfile: "Dockerfile-${PHP_VERSION}"
|
dockerfile: "Dockerfile-${PHP_VERSION}"
|
||||||
volumes_from:
|
volumes_from:
|
||||||
- applications
|
- applications
|
||||||
|
volumes:
|
||||||
|
- ./php-fpm/php${PHP_VERSION}.ini:/usr/local/etc/php/php.ini
|
||||||
expose:
|
expose:
|
||||||
- "9000"
|
- "9000"
|
||||||
depends_on:
|
depends_on:
|
||||||
@ -174,12 +175,29 @@ services:
|
|||||||
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
||||||
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||||||
volumes:
|
volumes:
|
||||||
- mysql:/var/lib/mysql
|
- ${DATA_SAVE_PATH}/mysql:/var/lib/mysql
|
||||||
ports:
|
ports:
|
||||||
- "${MYSQL_PORT}:3306"
|
- "${MYSQL_PORT}:3306"
|
||||||
networks:
|
networks:
|
||||||
- backend
|
- backend
|
||||||
|
|
||||||
|
### Percona Container #########################################
|
||||||
|
|
||||||
|
percona:
|
||||||
|
build:
|
||||||
|
context: ./percona
|
||||||
|
environment:
|
||||||
|
- MYSQL_DATABASE=${PERCONA_DATABASE}
|
||||||
|
- MYSQL_USER=${PERCONA_USER}
|
||||||
|
- MYSQL_PASSWORD=${PERCONA_PASSWORD}
|
||||||
|
- MYSQL_ROOT_PASSWORD=${PERCONA_ROOT_PASSWORD}
|
||||||
|
volumes:
|
||||||
|
- percona:/var/lib/mysql
|
||||||
|
ports:
|
||||||
|
- "${PERCONA_PORT}:3306"
|
||||||
|
networks:
|
||||||
|
- backend
|
||||||
|
|
||||||
### MSSQL Container #########################################
|
### MSSQL Container #########################################
|
||||||
|
|
||||||
mssql:
|
mssql:
|
||||||
@ -190,7 +208,7 @@ services:
|
|||||||
- SA_PASSWORD=${MSSQL_PASSWORD}
|
- SA_PASSWORD=${MSSQL_PASSWORD}
|
||||||
- ACCEPT_EULA=Y
|
- ACCEPT_EULA=Y
|
||||||
volumes:
|
volumes:
|
||||||
- mssql:/var/opt/mssql
|
- ${DATA_SAVE_PATH}/mssql:/var/opt/mssql
|
||||||
ports:
|
ports:
|
||||||
- "${MSSQL_PORT}:1433"
|
- "${MSSQL_PORT}:1433"
|
||||||
networks:
|
networks:
|
||||||
@ -201,7 +219,7 @@ services:
|
|||||||
mariadb:
|
mariadb:
|
||||||
build: ./mariadb
|
build: ./mariadb
|
||||||
volumes:
|
volumes:
|
||||||
- mariadb:/var/lib/mysql
|
- ${DATA_SAVE_PATH}/mariadb:/var/lib/mysql
|
||||||
ports:
|
ports:
|
||||||
- "${MARIADB_PORT}:3306"
|
- "${MARIADB_PORT}:3306"
|
||||||
environment:
|
environment:
|
||||||
@ -217,7 +235,7 @@ services:
|
|||||||
postgres:
|
postgres:
|
||||||
build: ./postgres
|
build: ./postgres
|
||||||
volumes:
|
volumes:
|
||||||
- postgres:/var/lib/postgresql/data
|
- ${DATA_SAVE_PATH}/postgres:/var/lib/postgresql/data
|
||||||
ports:
|
ports:
|
||||||
- "${POSTGRES_PORT}:5432"
|
- "${POSTGRES_PORT}:5432"
|
||||||
environment:
|
environment:
|
||||||
@ -232,7 +250,7 @@ services:
|
|||||||
postgres-postgis:
|
postgres-postgis:
|
||||||
build: ./postgres-postgis
|
build: ./postgres-postgis
|
||||||
volumes:
|
volumes:
|
||||||
- postgres:/var/lib/postgresql/data
|
- ${DATA_SAVE_PATH}/postgres:/var/lib/postgresql/data
|
||||||
ports:
|
ports:
|
||||||
- "${POSTGRES_PORT}:5432"
|
- "${POSTGRES_PORT}:5432"
|
||||||
environment:
|
environment:
|
||||||
@ -252,7 +270,7 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- NEO4J_AUTH=default:secret
|
- NEO4J_AUTH=default:secret
|
||||||
volumes:
|
volumes:
|
||||||
- neo4j:/var/lib/neo4j/data
|
- ${DATA_SAVE_PATH}/neo4j:/var/lib/neo4j/data
|
||||||
networks:
|
networks:
|
||||||
- backend
|
- backend
|
||||||
|
|
||||||
@ -263,7 +281,7 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- "27017:27017"
|
- "27017:27017"
|
||||||
volumes:
|
volumes:
|
||||||
- mongo:/data/db
|
- ${DATA_SAVE_PATH}/mongo:/data/db
|
||||||
networks:
|
networks:
|
||||||
- backend
|
- backend
|
||||||
|
|
||||||
@ -274,7 +292,7 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- "8090:8080"
|
- "8090:8080"
|
||||||
volumes:
|
volumes:
|
||||||
- rethinkdb:/data/rethinkdb_data
|
- ${DATA_SAVE_PATH}/rethinkdb:/data/rethinkdb_data
|
||||||
networks:
|
networks:
|
||||||
- backend
|
- backend
|
||||||
|
|
||||||
@ -283,7 +301,7 @@ services:
|
|||||||
redis:
|
redis:
|
||||||
build: ./redis
|
build: ./redis
|
||||||
volumes:
|
volumes:
|
||||||
- redis:/data
|
- ${DATA_SAVE_PATH}/redis:/data
|
||||||
ports:
|
ports:
|
||||||
- "6379:6379"
|
- "6379:6379"
|
||||||
networks:
|
networks:
|
||||||
@ -296,7 +314,7 @@ services:
|
|||||||
volumes_from:
|
volumes_from:
|
||||||
- workspace
|
- workspace
|
||||||
volumes:
|
volumes:
|
||||||
- aerospike:/opt/aerospike/data
|
- ${DATA_SAVE_PATH}/aerospike:/opt/aerospike/data
|
||||||
ports:
|
ports:
|
||||||
- "3000:3000"
|
- "3000:3000"
|
||||||
- "3001:3001"
|
- "3001:3001"
|
||||||
@ -310,7 +328,7 @@ services:
|
|||||||
memcached:
|
memcached:
|
||||||
build: ./memcached
|
build: ./memcached
|
||||||
volumes:
|
volumes:
|
||||||
- memcached:/var/lib/memcached
|
- ${DATA_SAVE_PATH}/memcached:/var/lib/memcached
|
||||||
ports:
|
ports:
|
||||||
- "${MEMCACHED_HOST_PORT}:11211"
|
- "${MEMCACHED_HOST_PORT}:11211"
|
||||||
depends_on:
|
depends_on:
|
||||||
@ -405,6 +423,7 @@ services:
|
|||||||
- php-fpm
|
- php-fpm
|
||||||
networks:
|
networks:
|
||||||
- frontend
|
- frontend
|
||||||
|
- backend
|
||||||
|
|
||||||
### pgAdmin Container #######################################
|
### pgAdmin Container #######################################
|
||||||
|
|
||||||
@ -416,6 +435,7 @@ services:
|
|||||||
- postgres
|
- postgres
|
||||||
networks:
|
networks:
|
||||||
- frontend
|
- frontend
|
||||||
|
- backend
|
||||||
|
|
||||||
### ElasticSearch Container #################################
|
### ElasticSearch Container #################################
|
||||||
|
|
||||||
@ -431,6 +451,7 @@ services:
|
|||||||
- php-fpm
|
- php-fpm
|
||||||
networks:
|
networks:
|
||||||
- frontend
|
- frontend
|
||||||
|
- backend
|
||||||
|
|
||||||
### Certbot Container ##################################
|
### Certbot Container ##################################
|
||||||
|
|
||||||
@ -517,6 +538,19 @@ services:
|
|||||||
- proxy
|
- proxy
|
||||||
- proxy2
|
- proxy2
|
||||||
|
|
||||||
|
### Jenkins ###################################################
|
||||||
|
jenkins:
|
||||||
|
build: ./jenkins
|
||||||
|
environment:
|
||||||
|
JAVA_OPTS: "-Djava.awt.headless=true"
|
||||||
|
ports:
|
||||||
|
- "${JENKINS_HOST_SLAVE_AGENT_PORT}:50000"
|
||||||
|
- "${JENKINS_HOST_HTTP_PORT}:8080"
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- ${JENKINS_HOME}:/var/jenkins_home
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
|
||||||
### Networks Setup ############################################
|
### Networks Setup ############################################
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
@ -530,6 +564,8 @@ networks:
|
|||||||
volumes:
|
volumes:
|
||||||
mysql:
|
mysql:
|
||||||
driver: "local"
|
driver: "local"
|
||||||
|
percona:
|
||||||
|
driver: "local"
|
||||||
mssql:
|
mssql:
|
||||||
driver: "local"
|
driver: "local"
|
||||||
postgres:
|
postgres:
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
<meta name="generator" content="Hugo 0.19" />
|
<meta name="generator" content="Hugo 0.19" />
|
||||||
|
|
||||||
|
|
||||||
<meta name="description" content="Laradock documentations.">
|
<meta name="description" content="Full PHP development environment for Docker.">
|
||||||
|
|
||||||
<link rel="canonical" href="http://laradock.io/contributing/">
|
<link rel="canonical" href="http://laradock.io/contributing/">
|
||||||
|
|
||||||
@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
<meta property="og:url" content="http://laradock.io/contributing/">
|
<meta property="og:url" content="http://laradock.io/contributing/">
|
||||||
<meta property="og:title" content="Laradock">
|
<meta property="og:title" content="Laradock">
|
||||||
|
<meta property="og:image" content="http://laradock.io/images/logo.png">
|
||||||
<meta name="apple-mobile-web-app-title" content="Laradock">
|
<meta name="apple-mobile-web-app-title" content="Laradock">
|
||||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
||||||
@ -129,15 +129,19 @@
|
|||||||
<main class="main">
|
<main class="main">
|
||||||
<div class="drawer">
|
<div class="drawer">
|
||||||
<nav aria-label="Navigation">
|
<nav aria-label="Navigation">
|
||||||
|
<a href="http://laradock.io/" class="project">
|
||||||
|
<div class="banner">
|
||||||
|
|
||||||
|
<div class="logo">
|
||||||
|
<img src="http://laradock.io/images/logo.png">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
|
||||||
<div class="scrollable">
|
<div class="scrollable">
|
||||||
<div class="wrapper">
|
<div class="wrapper">
|
||||||
@ -211,9 +215,9 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a title="Related Projects" href="http://laradock.io/related-projects/">
|
<a title="Giudes" href="http://laradock.io/guides/">
|
||||||
|
|
||||||
Related Projects
|
Giudes
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
@ -247,6 +251,24 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a title="Related Projects" href="http://laradock.io/related-projects/">
|
||||||
|
|
||||||
|
Related Projects
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a class="current" title="Contributing" href="http://laradock.io/contributing/">
|
<a class="current" title="Contributing" href="http://laradock.io/contributing/">
|
||||||
|
|
||||||
Contributing
|
Contributing
|
||||||
@ -345,20 +367,26 @@ features, by not reporting duplicate issues.</em></p>
|
|||||||
|
|
||||||
<p>Laradock uses <a href="https://gohugo.io/">Hugo</a> as website generator tool, with the <a href="http://themes.gohugo.io/theme/material-docs/">Material Docs theme</a>. You might need to check their docs quickly.</p>
|
<p>Laradock uses <a href="https://gohugo.io/">Hugo</a> as website generator tool, with the <a href="http://themes.gohugo.io/theme/material-docs/">Material Docs theme</a>. You might need to check their docs quickly.</p>
|
||||||
|
|
||||||
<ol>
|
<p>Go the <code>DOCUMENTATION/content</code> and search for the markdown file you want to edit</p>
|
||||||
<li>Install <a href="https://gohugo.io/">Hugo</a> on your machine (easy thing).</li>
|
|
||||||
<li>Open the <code>DOCUMENTATION/_settings/content</code> and search for the markdown file you want to edit (every folder represents a section in the menu).</li>
|
<p>Note: Every folder represents a section in the sidebar “Menu”. And every page and sidebar has a <code>weight</code> number to show it’s position in the site.</p>
|
||||||
<li>Delete the <code>/docs</code> folder from the root.</li>
|
|
||||||
<li>When you finish editing, go to <code>DOCUMENTATION/_settings/</code> and run the <code>hugo</code> command to generate the HTML docs (inside new <code>/docs</code> folder).</li>
|
<p>To update the sidebar or add a new section to it, you can edit this <code>DOCUMENTATION/config.toml</code> toml file.</p>
|
||||||
</ol>
|
|
||||||
|
<blockquote>
|
||||||
|
<p>The site will be auto-generated in the <code>docs/</code> folder by <a href="https://travis-ci.org/laradock/laradock/">Travis CI</a>.</p>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<p><br></p>
|
||||||
|
|
||||||
<h3 id="to-host-the-website-locally">To Host the website locally</h3>
|
<h3 id="to-host-the-website-locally">To Host the website locally</h3>
|
||||||
|
|
||||||
<p>Go to <code>DOCUMENTATION/_settings</code> in your terminal and run <code>hugo serve</code> to host the website locally.</p>
|
<ol>
|
||||||
|
<li>Install <a href="https://gohugo.io/">Hugo</a> on your machine.</li>
|
||||||
<h3 id="edit-the-sidebar">Edit the sidebar</h3>
|
<li>Edit the <code>DOCUMENTATION/content</code>.</li>
|
||||||
|
<li>Delete the <code>/docs</code> folder from the root.</li>
|
||||||
<p>To add a new section to the sidebar or edit existing one, you need to edit this file <code>DOCUMENTATION/_settings/config.toml</code>.</p>
|
<li>After you finish the editing, go to <code>DOCUMENTATION/</code> and run the <code>hugo</code> command to generate the HTML docs (inside a new <code>/docs</code> folder).</li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
<h2 id="how-to-support-new-software-add-new-container">How to support new Software (Add new Container)</h2>
|
<h2 id="how-to-support-new-software-add-new-container">How to support new Software (Add new Container)</h2>
|
||||||
|
|
||||||
@ -496,7 +524,7 @@ git push origin my-fix-branch -f
|
|||||||
<nav class="pagination" aria-label="Footer">
|
<nav class="pagination" aria-label="Footer">
|
||||||
<div class="previous">
|
<div class="previous">
|
||||||
|
|
||||||
<a href="http://laradock.io/help/" title="Help & Questions">
|
<a href="http://laradock.io/related-projects/" title="Related Projects">
|
||||||
<span class="direction">
|
<span class="direction">
|
||||||
Previous
|
Previous
|
||||||
</span>
|
</span>
|
||||||
@ -506,7 +534,7 @@ git push origin my-fix-branch -f
|
|||||||
</div>
|
</div>
|
||||||
<div class="stretch">
|
<div class="stretch">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
Help & Questions
|
Related Projects
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -48,20 +48,26 @@ features, by not reporting duplicate issues.</em></p>
|
|||||||
|
|
||||||
<p>Laradock uses <a href="https://gohugo.io/">Hugo</a> as website generator tool, with the <a href="http://themes.gohugo.io/theme/material-docs/">Material Docs theme</a>. You might need to check their docs quickly.</p>
|
<p>Laradock uses <a href="https://gohugo.io/">Hugo</a> as website generator tool, with the <a href="http://themes.gohugo.io/theme/material-docs/">Material Docs theme</a>. You might need to check their docs quickly.</p>
|
||||||
|
|
||||||
<ol>
|
<p>Go the <code>DOCUMENTATION/content</code> and search for the markdown file you want to edit</p>
|
||||||
<li>Install <a href="https://gohugo.io/">Hugo</a> on your machine (easy thing).</li>
|
|
||||||
<li>Open the <code>DOCUMENTATION/_settings/content</code> and search for the markdown file you want to edit (every folder represents a section in the menu).</li>
|
<p>Note: Every folder represents a section in the sidebar &ldquo;Menu&rdquo;. And every page and sidebar has a <code>weight</code> number to show it&rsquo;s position in the site.</p>
|
||||||
<li>Delete the <code>/docs</code> folder from the root.</li>
|
|
||||||
<li>When you finish editing, go to <code>DOCUMENTATION/_settings/</code> and run the <code>hugo</code> command to generate the HTML docs (inside new <code>/docs</code> folder).</li>
|
<p>To update the sidebar or add a new section to it, you can edit this <code>DOCUMENTATION/config.toml</code> toml file.</p>
|
||||||
</ol>
|
|
||||||
|
<blockquote>
|
||||||
|
<p>The site will be auto-generated in the <code>docs/</code> folder by <a href="https://travis-ci.org/laradock/laradock/">Travis CI</a>.</p>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<p><br></p>
|
||||||
|
|
||||||
<h3 id="to-host-the-website-locally">To Host the website locally</h3>
|
<h3 id="to-host-the-website-locally">To Host the website locally</h3>
|
||||||
|
|
||||||
<p>Go to <code>DOCUMENTATION/_settings</code> in your terminal and run <code>hugo serve</code> to host the website locally.</p>
|
<ol>
|
||||||
|
<li>Install <a href="https://gohugo.io/">Hugo</a> on your machine.</li>
|
||||||
<h3 id="edit-the-sidebar">Edit the sidebar</h3>
|
<li>Edit the <code>DOCUMENTATION/content</code>.</li>
|
||||||
|
<li>Delete the <code>/docs</code> folder from the root.</li>
|
||||||
<p>To add a new section to the sidebar or edit existing one, you need to edit this file <code>DOCUMENTATION/_settings/config.toml</code>.</p>
|
<li>After you finish the editing, go to <code>DOCUMENTATION/</code> and run the <code>hugo</code> command to generate the HTML docs (inside a new <code>/docs</code> folder).</li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
<h2 id="how-to-support-new-software-add-new-container">How to support new Software (Add new Container)</h2>
|
<h2 id="how-to-support-new-software-add-new-container">How to support new Software (Add new Container)</h2>
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
<meta name="generator" content="Hugo 0.19" />
|
<meta name="generator" content="Hugo 0.19" />
|
||||||
|
|
||||||
|
|
||||||
<meta name="description" content="Laradock documentations.">
|
<meta name="description" content="Full PHP development environment for Docker.">
|
||||||
|
|
||||||
<link rel="canonical" href="http://laradock.io/documentation/">
|
<link rel="canonical" href="http://laradock.io/documentation/">
|
||||||
|
|
||||||
@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
<meta property="og:url" content="http://laradock.io/documentation/">
|
<meta property="og:url" content="http://laradock.io/documentation/">
|
||||||
<meta property="og:title" content="Laradock">
|
<meta property="og:title" content="Laradock">
|
||||||
|
<meta property="og:image" content="http://laradock.io/images/logo.png">
|
||||||
<meta name="apple-mobile-web-app-title" content="Laradock">
|
<meta name="apple-mobile-web-app-title" content="Laradock">
|
||||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
||||||
@ -129,15 +129,19 @@
|
|||||||
<main class="main">
|
<main class="main">
|
||||||
<div class="drawer">
|
<div class="drawer">
|
||||||
<nav aria-label="Navigation">
|
<nav aria-label="Navigation">
|
||||||
|
<a href="http://laradock.io/" class="project">
|
||||||
|
<div class="banner">
|
||||||
|
|
||||||
|
<div class="logo">
|
||||||
|
<img src="http://laradock.io/images/logo.png">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
|
||||||
<div class="scrollable">
|
<div class="scrollable">
|
||||||
<div class="wrapper">
|
<div class="wrapper">
|
||||||
@ -214,9 +218,9 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a title="Related Projects" href="http://laradock.io/related-projects/">
|
<a title="Giudes" href="http://laradock.io/guides/">
|
||||||
|
|
||||||
Related Projects
|
Giudes
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
@ -250,6 +254,24 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a title="Related Projects" href="http://laradock.io/related-projects/">
|
||||||
|
|
||||||
|
Related Projects
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a title="Contributing" href="http://laradock.io/contributing/">
|
<a title="Contributing" href="http://laradock.io/contributing/">
|
||||||
|
|
||||||
Contributing
|
Contributing
|
||||||
@ -1577,14 +1599,14 @@ e) set it to <code>true</code></p>
|
|||||||
|
|
||||||
<div class="next">
|
<div class="next">
|
||||||
|
|
||||||
<a href="http://laradock.io/related-projects/" title="Related Projects">
|
<a href="http://laradock.io/guides/" title="Guides">
|
||||||
<span class="direction">
|
<span class="direction">
|
||||||
Next
|
Next
|
||||||
</span>
|
</span>
|
||||||
<div class="page">
|
<div class="page">
|
||||||
<div class="stretch">
|
<div class="stretch">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
Related Projects
|
Guides
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="button button-next" role="button" aria-label="Next">
|
<div class="button button-next" role="button" aria-label="Next">
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
<meta name="generator" content="Hugo 0.19" />
|
<meta name="generator" content="Hugo 0.19" />
|
||||||
|
|
||||||
|
|
||||||
<meta name="description" content="Laradock documentations.">
|
<meta name="description" content="Full PHP development environment for Docker.">
|
||||||
|
|
||||||
<link rel="canonical" href="http://laradock.io/getting-started/">
|
<link rel="canonical" href="http://laradock.io/getting-started/">
|
||||||
|
|
||||||
@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
<meta property="og:url" content="http://laradock.io/getting-started/">
|
<meta property="og:url" content="http://laradock.io/getting-started/">
|
||||||
<meta property="og:title" content="Laradock">
|
<meta property="og:title" content="Laradock">
|
||||||
|
<meta property="og:image" content="http://laradock.io/images/logo.png">
|
||||||
<meta name="apple-mobile-web-app-title" content="Laradock">
|
<meta name="apple-mobile-web-app-title" content="Laradock">
|
||||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
||||||
@ -129,15 +129,19 @@
|
|||||||
<main class="main">
|
<main class="main">
|
||||||
<div class="drawer">
|
<div class="drawer">
|
||||||
<nav aria-label="Navigation">
|
<nav aria-label="Navigation">
|
||||||
|
<a href="http://laradock.io/" class="project">
|
||||||
|
<div class="banner">
|
||||||
|
|
||||||
|
<div class="logo">
|
||||||
|
<img src="http://laradock.io/images/logo.png">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
|
||||||
<div class="scrollable">
|
<div class="scrollable">
|
||||||
<div class="wrapper">
|
<div class="wrapper">
|
||||||
@ -214,9 +218,9 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a title="Related Projects" href="http://laradock.io/related-projects/">
|
<a title="Giudes" href="http://laradock.io/guides/">
|
||||||
|
|
||||||
Related Projects
|
Giudes
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
@ -250,6 +254,24 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a title="Related Projects" href="http://laradock.io/related-projects/">
|
||||||
|
|
||||||
|
Related Projects
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a title="Contributing" href="http://laradock.io/contributing/">
|
<a title="Contributing" href="http://laradock.io/contributing/">
|
||||||
|
|
||||||
Contributing
|
Contributing
|
||||||
@ -477,11 +499,7 @@
|
|||||||
|
|
||||||
<p><strong>Note</strong>: The <code>workspace</code> and <code>php-fpm</code> will run automatically in most of the cases, so no need to specify them in the <code>up</code> command. If you couldn’t find them running then you need specify them as follow: <code>docker-compose up -d nginx php-fpm mysql workspace</code>.</p>
|
<p><strong>Note</strong>: The <code>workspace</code> and <code>php-fpm</code> will run automatically in most of the cases, so no need to specify them in the <code>up</code> command. If you couldn’t find them running then you need specify them as follow: <code>docker-compose up -d nginx php-fpm mysql workspace</code>.</p>
|
||||||
|
|
||||||
<p>You can select your own combination of containers form the list below:</p>
|
<p>You can select your own combination of containers form <a href="http://laradock.io/introduction/#supported-software-images">this list</a>.</p>
|
||||||
|
|
||||||
<blockquote>
|
|
||||||
<p><code>nginx</code>, <code>hhvm</code>, <code>php-fpm</code>, <code>mysql</code>, <code>redis</code>, <code>postgres</code>, <code>mariadb</code>, <code>neo4j</code>, <code>mongo</code>, <code>apache2</code>, <code>caddy</code>, <code>memcached</code>, <code>beanstalkd</code>, <code>beanstalkd-console</code>, <code>rabbitmq</code>, <code>beanstalkd-console</code>, <code>workspace</code>, <code>phpmyadmin</code>, <code>adminer</code>, <code>aerospike</code>, <code>pgadmin</code>, <code>elasticsearch</code>, <code>rethinkdb</code>, <code>postgres-postgis</code>, <code>certbot</code>, <code>mailhog</code>, <code>minio</code> and more…!</p>
|
|
||||||
</blockquote>
|
|
||||||
|
|
||||||
<p><em>(Please note that sometimes we forget to update the docs, so check the <code>docker-compose.yml</code> file to see an updated list of all available containers).</em></p>
|
<p><em>(Please note that sometimes we forget to update the docs, so check the <code>docker-compose.yml</code> file to see an updated list of all available containers).</em></p>
|
||||||
|
|
||||||
|
@ -180,11 +180,7 @@
|
|||||||
|
|
||||||
<p><strong>Note</strong>: The <code>workspace</code> and <code>php-fpm</code> will run automatically in most of the cases, so no need to specify them in the <code>up</code> command. If you couldn&rsquo;t find them running then you need specify them as follow: <code>docker-compose up -d nginx php-fpm mysql workspace</code>.</p>
|
<p><strong>Note</strong>: The <code>workspace</code> and <code>php-fpm</code> will run automatically in most of the cases, so no need to specify them in the <code>up</code> command. If you couldn&rsquo;t find them running then you need specify them as follow: <code>docker-compose up -d nginx php-fpm mysql workspace</code>.</p>
|
||||||
|
|
||||||
<p>You can select your own combination of containers form the list below:</p>
|
<p>You can select your own combination of containers form <a href="http://laradock.io/introduction/#supported-software-images">this list</a>.</p>
|
||||||
|
|
||||||
<blockquote>
|
|
||||||
<p><code>nginx</code>, <code>hhvm</code>, <code>php-fpm</code>, <code>mysql</code>, <code>redis</code>, <code>postgres</code>, <code>mariadb</code>, <code>neo4j</code>, <code>mongo</code>, <code>apache2</code>, <code>caddy</code>, <code>memcached</code>, <code>beanstalkd</code>, <code>beanstalkd-console</code>, <code>rabbitmq</code>, <code>beanstalkd-console</code>, <code>workspace</code>, <code>phpmyadmin</code>, <code>adminer</code>, <code>aerospike</code>, <code>pgadmin</code>, <code>elasticsearch</code>, <code>rethinkdb</code>, <code>postgres-postgis</code>, <code>certbot</code>, <code>mailhog</code>, <code>minio</code> and more&hellip;!</p>
|
|
||||||
</blockquote>
|
|
||||||
|
|
||||||
<p><em>(Please note that sometimes we forget to update the docs, so check the <code>docker-compose.yml</code> file to see an updated list of all available containers).</em></p>
|
<p><em>(Please note that sometimes we forget to update the docs, so check the <code>docker-compose.yml</code> file to see an updated list of all available containers).</em></p>
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
<meta name="generator" content="Hugo 0.19" />
|
<meta name="generator" content="Hugo 0.19" />
|
||||||
|
|
||||||
|
|
||||||
<meta name="description" content="Laradock documentations.">
|
<meta name="description" content="Full PHP development environment for Docker.">
|
||||||
|
|
||||||
<link rel="canonical" href="http://laradock.io/help/">
|
<link rel="canonical" href="http://laradock.io/help/">
|
||||||
|
|
||||||
@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
<meta property="og:url" content="http://laradock.io/help/">
|
<meta property="og:url" content="http://laradock.io/help/">
|
||||||
<meta property="og:title" content="Laradock">
|
<meta property="og:title" content="Laradock">
|
||||||
|
<meta property="og:image" content="http://laradock.io/images/logo.png">
|
||||||
<meta name="apple-mobile-web-app-title" content="Laradock">
|
<meta name="apple-mobile-web-app-title" content="Laradock">
|
||||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
||||||
@ -129,15 +129,19 @@
|
|||||||
<main class="main">
|
<main class="main">
|
||||||
<div class="drawer">
|
<div class="drawer">
|
||||||
<nav aria-label="Navigation">
|
<nav aria-label="Navigation">
|
||||||
|
<a href="http://laradock.io/" class="project">
|
||||||
|
<div class="banner">
|
||||||
|
|
||||||
|
<div class="logo">
|
||||||
|
<img src="http://laradock.io/images/logo.png">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
|
||||||
<div class="scrollable">
|
<div class="scrollable">
|
||||||
<div class="wrapper">
|
<div class="wrapper">
|
||||||
@ -211,9 +215,9 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a title="Related Projects" href="http://laradock.io/related-projects/">
|
<a title="Giudes" href="http://laradock.io/guides/">
|
||||||
|
|
||||||
Related Projects
|
Giudes
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
@ -250,6 +254,24 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a title="Related Projects" href="http://laradock.io/related-projects/">
|
||||||
|
|
||||||
|
Related Projects
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a title="Contributing" href="http://laradock.io/contributing/">
|
<a title="Contributing" href="http://laradock.io/contributing/">
|
||||||
|
|
||||||
Contributing
|
Contributing
|
||||||
@ -330,7 +352,7 @@
|
|||||||
<nav class="pagination" aria-label="Footer">
|
<nav class="pagination" aria-label="Footer">
|
||||||
<div class="previous">
|
<div class="previous">
|
||||||
|
|
||||||
<a href="http://laradock.io/related-projects/" title="Related Projects">
|
<a href="http://laradock.io/guides/" title="Guides">
|
||||||
<span class="direction">
|
<span class="direction">
|
||||||
Previous
|
Previous
|
||||||
</span>
|
</span>
|
||||||
@ -340,7 +362,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="stretch">
|
<div class="stretch">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
Related Projects
|
Guides
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -350,14 +372,14 @@
|
|||||||
|
|
||||||
<div class="next">
|
<div class="next">
|
||||||
|
|
||||||
<a href="http://laradock.io/contributing/" title="Contributing">
|
<a href="http://laradock.io/related-projects/" title="Related Projects">
|
||||||
<span class="direction">
|
<span class="direction">
|
||||||
Next
|
Next
|
||||||
</span>
|
</span>
|
||||||
<div class="page">
|
<div class="page">
|
||||||
<div class="stretch">
|
<div class="stretch">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
Contributing
|
Related Projects
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="button button-next" role="button" aria-label="Next">
|
<div class="button button-next" role="button" aria-label="Next">
|
||||||
|
Before Width: | Height: | Size: 254 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 142 KiB |
Before Width: | Height: | Size: 145 KiB |
943
docs/index.html
920
docs/index.xml
@ -16,15 +16,17 @@
|
|||||||
<guid>http://laradock.io/introduction/</guid>
|
<guid>http://laradock.io/introduction/</guid>
|
||||||
<description>
|
<description>
|
||||||
|
|
||||||
<p>Laradock strives to make the PHP development experience easier and faster.</p>
|
<p>A full PHP development environment for Docker.</p>
|
||||||
|
|
||||||
<p>It contains pre-packaged Docker Images that provides you a wonderful <em>development</em> environment without requiring you to install PHP, NGINX, MySQL, Redis, and any other software on your machines.</p>
|
<p>Includes pre-packaged Docker Images, all pre-configured to provide a wonderful PHP development environment.</p>
|
||||||
|
|
||||||
<p>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&hellip;).</p>
|
<p>Laradock is well known in the Laravel community, as the project started with single focus on running Laravel projects on Docker. Later and due to the large adoption from the PHP community, it started supporting other PHP projects like Symfony, CodeIgniter, WordPress, Drupal&hellip;</p>
|
||||||
|
|
||||||
|
<p><img src="https://s19.postimg.org/jblfytw9f/laradock-logo.jpg" alt="" /></p>
|
||||||
|
|
||||||
<h2 id="quick-overview">Quick Overview</h2>
|
<h2 id="quick-overview">Quick Overview</h2>
|
||||||
|
|
||||||
<p>Let&rsquo;s see how easy it is to install <code>NGINX</code>, <code>PHP</code>, <code>Composer</code>, <code>MySQL</code>, <code>Redis</code> and <code>beanstalkd</code>:</p>
|
<p>Let&rsquo;s see how easy it is to install <code>NGINX</code>, <code>PHP</code>, <code>Composer</code>, <code>MySQL</code>, <code>Redis</code> and <code>Beanstalkd</code>:</p>
|
||||||
|
|
||||||
<p>1 - Clone Laradock inside your PHP project:</p>
|
<p>1 - Clone Laradock inside your PHP project:</p>
|
||||||
|
|
||||||
@ -41,18 +43,75 @@
|
|||||||
<pre><code class="language-shell">docker-compose up -d nginx mysql redis beanstalkd
|
<pre><code class="language-shell">docker-compose up -d nginx mysql redis beanstalkd
|
||||||
</code></pre>
|
</code></pre>
|
||||||
|
|
||||||
<p>3 - Open your project&rsquo;s <code>.env</code> file and set the following:</p>
|
<p>4 - Open your project&rsquo;s <code>.env</code> file and set the following:</p>
|
||||||
|
|
||||||
<pre><code class="language-shell">DB_HOST=mysql
|
<pre><code class="language-shell">DB_HOST=mysql
|
||||||
REDIS_HOST=redis
|
REDIS_HOST=redis
|
||||||
QUEUE_HOST=beanstalkd
|
QUEUE_HOST=beanstalkd
|
||||||
</code></pre>
|
</code></pre>
|
||||||
|
|
||||||
<p>4 - Open your browser and visit localhost: <code>http://localhost</code>.</p>
|
<p>5 - Open your browser and visit localhost: <code>http://localhost</code>.</p>
|
||||||
|
|
||||||
<pre><code class="language-shell">That's it! enjoy :)
|
<pre><code class="language-shell">That's it! enjoy :)
|
||||||
</code></pre>
|
</code></pre>
|
||||||
|
|
||||||
|
<p><a name="features"></a></p>
|
||||||
|
|
||||||
|
<h2 id="features">Features</h2>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Easy switch between PHP versions: 7.1, 7.0, 5.6&hellip;</li>
|
||||||
|
<li>Choose your favorite database engine: MySQL, Postgres, MariaDB&hellip;</li>
|
||||||
|
<li>Run your own combination of software: Memcached, HHVM, Beanstalkd&hellip;</li>
|
||||||
|
<li>Every software runs on a separate container: PHP-FPM, NGINX, PHP-CLI&hellip;</li>
|
||||||
|
<li>Easy to customize any container, with simple edit to the <code>Dockerfile</code>.</li>
|
||||||
|
<li>All Images extends from an official base Image. (Trusted base Images).</li>
|
||||||
|
<li>Pre-configured NGINX to host any code at your root directory.</li>
|
||||||
|
<li>Can use Laradock per project, or single Laradock for all projects.</li>
|
||||||
|
<li>Easy to install/remove software&rsquo;s in Containers using environment variables.</li>
|
||||||
|
<li>Clean and well structured Dockerfiles (<code>Dockerfile</code>).</li>
|
||||||
|
<li>Latest version of the Docker Compose file (<code>docker-compose</code>).</li>
|
||||||
|
<li>Everything is visible and editable.</li>
|
||||||
|
<li>Fast Images Builds.</li>
|
||||||
|
<li>More to come every week..</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p><a name="Supported-Containers"></a></p>
|
||||||
|
|
||||||
|
<h2 id="supported-software-images">Supported Software (Images)</h2>
|
||||||
|
|
||||||
|
<p>In adhering to the separation of concerns principle as promoted by Docker, Laradock runs each software on its own Container.
|
||||||
|
You can turn On/Off as many instances of as any container without worrying about the configurations, everything works like a charm.</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><strong>Database Engines:</strong>
|
||||||
|
MySQL - MariaDB - MongoDB - Neo4j - RethinkDB - MSSQL - PostgreSQL - Postgres Postgis.</li>
|
||||||
|
<li><strong>Cache Engines:</strong>
|
||||||
|
Redis - Memcached - Aerospike</li>
|
||||||
|
<li><strong>PHP Servers:</strong>
|
||||||
|
NGINX - Apache2 - Caddy</li>
|
||||||
|
<li><strong>PHP Compilers:</strong>
|
||||||
|
PHP FPM - HHVM</li>
|
||||||
|
<li><strong>Message Queuing:</strong>
|
||||||
|
Beanstalkd - Beanstalkd Console - RabbitMQ - RabbitMQ Console - PHP Worker</li>
|
||||||
|
<li><strong>Tools:</strong>
|
||||||
|
HAProxy - Jenkins - ElasticSearch - Selenium - Certbot - Mailhog - Minio - Varnish - PhpMyAdmin - Adminer - PgAdmin - MailHog&hellip;</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>Laradock introduces the <strong>Workspace</strong> Image, as a development environment.
|
||||||
|
It contains a rich set of helpful tools, all pre-configured to work and integrate with almost any combination of Containers and tools you may choose.</p>
|
||||||
|
|
||||||
|
<p><strong>Workspace Image Tools</strong>
|
||||||
|
PHP CLI - Composer - Git - Linuxbrew - Node - V8JS - Gulp - SQLite - xDebug - Envoy - Deployer - Vim - Yarn - SOAP - Drush&hellip;</p>
|
||||||
|
|
||||||
|
<p>You can choose, which tools to install in your workspace container and other containers, from the <code>.env</code> file.</p>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<p>If you modify <code>docker-compose.yml</code>, <code>.env</code> or any <code>dockerfile</code> file, you must re-build your containers, to see those effects in the running instance.</p>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<p>If you can&rsquo;t find your Software in the list, build it yourself and sumit it. Contributions are welcomed :)</p>
|
||||||
|
|
||||||
<p><a name="what-is-docker"></a></p>
|
<p><a name="what-is-docker"></a></p>
|
||||||
|
|
||||||
<h2 id="what-is-docker">What is Docker?</h2>
|
<h2 id="what-is-docker">What is Docker?</h2>
|
||||||
@ -71,24 +130,6 @@ QUEUE_HOST=beanstalkd
|
|||||||
|
|
||||||
<p>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).</p>
|
<p>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).</p>
|
||||||
|
|
||||||
<p><a name="laradock-vs-homestead"></a></p>
|
|
||||||
|
|
||||||
<h2 id="laradock-vs-homestead-for-laravel-developers">Laradock VS Homestead (For Laravel Developers)</h2>
|
|
||||||
|
|
||||||
<blockquote>
|
|
||||||
<p>Laradock It&rsquo;s like Laravel Homestead but for Docker instead of Vagrant.</p>
|
|
||||||
</blockquote>
|
|
||||||
|
|
||||||
<p>Laradock and <a href="https://laravel.com/docs/master/homestead">Homestead</a> both give you complete virtual development environments. (Without the need to install and configure every single software on your own Operating System).</p>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li><p>Homestead is a tool that controls Vagrant for you (using Homestead special commands). And Vagrant manages your Virtual Machine.</p></li>
|
|
||||||
|
|
||||||
<li><p>Laradock is a tool that controls Docker for you (using Docker &amp; Docker Compose official commands). And Docker manages your Virtual Containers.</p></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<p>Running a virtual container is much faster than running a full virtual Machine. Thus <strong>Laradock is much faster than Homestead</strong>.</p>
|
|
||||||
|
|
||||||
<p><a name="Demo"></a></p>
|
<p><a name="Demo"></a></p>
|
||||||
|
|
||||||
<h2 id="demo-video">Demo Video</h2>
|
<h2 id="demo-video">Demo Video</h2>
|
||||||
@ -96,111 +137,13 @@ QUEUE_HOST=beanstalkd
|
|||||||
<p>What&rsquo;s better than a <strong>Demo Video</strong>:</p>
|
<p>What&rsquo;s better than a <strong>Demo Video</strong>:</p>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
|
<li>Laradock v5.* (soon or never)</li>
|
||||||
<li>Laradock <a href="https://www.youtube.com/watch?v=TQii1jDa96Y">v4.*</a></li>
|
<li>Laradock <a href="https://www.youtube.com/watch?v=TQii1jDa96Y">v4.*</a></li>
|
||||||
<li>Laradock <a href="https://www.youtube.com/watch?v=-DamFMczwDA">v2.*</a></li>
|
<li>Laradock <a href="https://www.youtube.com/watch?v=-DamFMczwDA">v2.*</a></li>
|
||||||
<li>Laradock <a href="https://www.youtube.com/watch?v=jGkyO6Is_aI">v0.3</a></li>
|
<li>Laradock <a href="https://www.youtube.com/watch?v=jGkyO6Is_aI">v0.3</a></li>
|
||||||
<li>Laradock <a href="https://www.youtube.com/watch?v=3YQsHe6oF80">v0.1</a></li>
|
<li>Laradock <a href="https://www.youtube.com/watch?v=3YQsHe6oF80">v0.1</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p><a name="features"></a></p>
|
|
||||||
|
|
||||||
<h2 id="features">Features</h2>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>Easy switch between PHP versions: 7.0, 5.6, 5.5&hellip;</li>
|
|
||||||
<li>Choose your favorite database engine: MySQL, Postgres, MariaDB&hellip;</li>
|
|
||||||
<li>Run your own combination of software: Memcached, HHVM, Beanstalkd&hellip;</li>
|
|
||||||
<li>Every software runs on a separate container: PHP-FPM, NGINX, PHP-CLI&hellip;</li>
|
|
||||||
<li>Easy to customize any container, with simple edit to the <code>Dockerfile</code>.</li>
|
|
||||||
<li>All Images extends from an official base Image. (Trusted base Images).</li>
|
|
||||||
<li>Pre-configured NGINX for Laravel.</li>
|
|
||||||
<li>Easy to apply configurations inside containers.</li>
|
|
||||||
<li>Clean and well structured Dockerfiles (<code>Dockerfile</code>).</li>
|
|
||||||
<li>Latest version of the Docker Compose file (<code>docker-compose</code>).</li>
|
|
||||||
<li>Everything is visible and editable.</li>
|
|
||||||
<li>Fast Images Builds.</li>
|
|
||||||
<li>More to come every week..</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<p><a name="Supported-Containers"></a></p>
|
|
||||||
|
|
||||||
<h2 id="supported-software-containers">Supported Software (Containers)</h2>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li><strong>Database Engines:</strong>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>MySQL</li>
|
|
||||||
<li>MariaDB</li>
|
|
||||||
<li>MongoDB</li>
|
|
||||||
<li>Neo4j</li>
|
|
||||||
<li>RethinkDB</li>
|
|
||||||
<li>PostgreSQL</li>
|
|
||||||
<li>Postgres Postgis</li>
|
|
||||||
</ul></li>
|
|
||||||
<li><strong>Cache Engines:</strong>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>Redis</li>
|
|
||||||
<li>Memcached</li>
|
|
||||||
<li>Aerospike</li>
|
|
||||||
</ul></li>
|
|
||||||
<li><strong>PHP Servers:</strong>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>NGINX</li>
|
|
||||||
<li>Apache2</li>
|
|
||||||
<li>Caddy</li>
|
|
||||||
</ul></li>
|
|
||||||
<li><strong>PHP Compilers:</strong>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>PHP-FPM</li>
|
|
||||||
<li>HHVM</li>
|
|
||||||
</ul></li>
|
|
||||||
<li><strong>Message Queuing Systems:</strong>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>Beanstalkd</li>
|
|
||||||
<li>Beanstalkd Console</li>
|
|
||||||
<li>RabbitMQ</li>
|
|
||||||
<li>RabbitMQ Console</li>
|
|
||||||
</ul></li>
|
|
||||||
<li><strong>Tools:</strong>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>PhpMyAdmin</li>
|
|
||||||
<li>Adminer</li>
|
|
||||||
<li>PgAdmin</li>
|
|
||||||
<li>ElasticSearch</li>
|
|
||||||
<li>Selenium</li>
|
|
||||||
<li>Certbot</li>
|
|
||||||
<li>Mailhog</li>
|
|
||||||
<li>Minio</li>
|
|
||||||
<li>Workspace
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>PHP7-CLI</li>
|
|
||||||
<li>Composer</li>
|
|
||||||
<li>Git</li>
|
|
||||||
<li>Linuxbrew</li>
|
|
||||||
<li>Node</li>
|
|
||||||
<li>Gulp</li>
|
|
||||||
<li>SQLite</li>
|
|
||||||
<li>xDebug</li>
|
|
||||||
<li>Envoy</li>
|
|
||||||
<li>Deployer</li>
|
|
||||||
<li>Vim</li>
|
|
||||||
<li>Yarn</li>
|
|
||||||
<li>&hellip; Many other supported tools are not documented. (Will be updated soon)</li>
|
|
||||||
</ul></li>
|
|
||||||
</ul></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<blockquote>
|
|
||||||
<p>If you can&rsquo;t find your Software, build it yourself and add it to this list. Contributions are welcomed :)</p>
|
|
||||||
</blockquote>
|
|
||||||
|
|
||||||
<p><a name="Chat"></a></p>
|
<p><a name="Chat"></a></p>
|
||||||
|
|
||||||
<h2 id="chat-with-us">Chat with us</h2>
|
<h2 id="chat-with-us">Chat with us</h2>
|
||||||
@ -383,11 +326,7 @@ QUEUE_HOST=beanstalkd
|
|||||||
|
|
||||||
<p><strong>Note</strong>: The <code>workspace</code> and <code>php-fpm</code> will run automatically in most of the cases, so no need to specify them in the <code>up</code> command. If you couldn&rsquo;t find them running then you need specify them as follow: <code>docker-compose up -d nginx php-fpm mysql workspace</code>.</p>
|
<p><strong>Note</strong>: The <code>workspace</code> and <code>php-fpm</code> will run automatically in most of the cases, so no need to specify them in the <code>up</code> command. If you couldn&rsquo;t find them running then you need specify them as follow: <code>docker-compose up -d nginx php-fpm mysql workspace</code>.</p>
|
||||||
|
|
||||||
<p>You can select your own combination of containers form the list below:</p>
|
<p>You can select your own combination of containers form <a href="http://laradock.io/introduction/#supported-software-images">this list</a>.</p>
|
||||||
|
|
||||||
<blockquote>
|
|
||||||
<p><code>nginx</code>, <code>hhvm</code>, <code>php-fpm</code>, <code>mysql</code>, <code>redis</code>, <code>postgres</code>, <code>mariadb</code>, <code>neo4j</code>, <code>mongo</code>, <code>apache2</code>, <code>caddy</code>, <code>memcached</code>, <code>beanstalkd</code>, <code>beanstalkd-console</code>, <code>rabbitmq</code>, <code>beanstalkd-console</code>, <code>workspace</code>, <code>phpmyadmin</code>, <code>adminer</code>, <code>aerospike</code>, <code>pgadmin</code>, <code>elasticsearch</code>, <code>rethinkdb</code>, <code>postgres-postgis</code>, <code>certbot</code>, <code>mailhog</code>, <code>minio</code> and more&hellip;!</p>
|
|
||||||
</blockquote>
|
|
||||||
|
|
||||||
<p><em>(Please note that sometimes we forget to update the docs, so check the <code>docker-compose.yml</code> file to see an updated list of all available containers).</em></p>
|
<p><em>(Please note that sometimes we forget to update the docs, so check the <code>docker-compose.yml</code> file to see an updated list of all available containers).</em></p>
|
||||||
|
|
||||||
@ -1663,6 +1602,691 @@ e) set it to <code>true</code></p>
|
|||||||
</description>
|
</description>
|
||||||
</item>
|
</item>
|
||||||
|
|
||||||
|
<item>
|
||||||
|
<title>Guides</title>
|
||||||
|
<link>http://laradock.io/guides/</link>
|
||||||
|
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||||
|
|
||||||
|
<guid>http://laradock.io/guides/</guid>
|
||||||
|
<description>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><a href="#Digital-Ocean">Production Setup on Digital Ocean</a></li>
|
||||||
|
<li><a href="#PHPStorm-Debugging">PHPStorm XDebug Setup</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p><a name="Digital-Ocean"></a></p>
|
||||||
|
|
||||||
|
<h1 id="production-setup-on-digital-ocean">Production Setup on Digital Ocean</h1>
|
||||||
|
|
||||||
|
<h2 id="install-docker">Install Docker</h2>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Visit <a href="https://cloud.digitalocean.com/login">DigitalOcean</a> and login.</li>
|
||||||
|
<li>Click the <code>Create Droplet</code> button.</li>
|
||||||
|
<li>Open the <code>One-click apps</code> tab.</li>
|
||||||
|
<li>Select Docker with your preferred version.</li>
|
||||||
|
<li>Continue creating the droplet as you normally would.</li>
|
||||||
|
<li>If needed, check your e-mail for the droplet root password.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2 id="ssh-to-your-server">SSH to your Server</h2>
|
||||||
|
|
||||||
|
<p>Find the IP address of the droplet in the DigitalOcean interface. Use it to connect to the server.</p>
|
||||||
|
|
||||||
|
<pre><code>ssh root@ipaddress
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
<p>You may be prompted for a password. Type the one you found within your e-mailbox. It&rsquo;ll then ask you to change the password.</p>
|
||||||
|
|
||||||
|
<p>You can now check if Docker is available:</p>
|
||||||
|
|
||||||
|
<pre><code>$root@server:~# docker
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
<h2 id="set-up-your-laravel-project">Set Up Your Laravel Project</h2>
|
||||||
|
|
||||||
|
<pre><code>$root@server:~# apt-get install git
|
||||||
|
$root@server:~# git clone https://github.com/laravel/laravel
|
||||||
|
$root@server:~# cd laravel
|
||||||
|
$root@server:~/laravel/ git submodule add https://github.com/LaraDock/laradock.git
|
||||||
|
$root@server:~/laravel/ cd laradock
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
<h2 id="install-docker-compose-command">Install docker-compose command</h2>
|
||||||
|
|
||||||
|
<pre><code>$root@server:~/laravel/laradock# curl -L https://github.com/docker/compose/releases/download/1.8.0/run.sh &gt; /usr/local/bin/docker-compose
|
||||||
|
$root@server:~/chmod +x /usr/local/bin/docker-compose
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
<h2 id="create-your-laradock-containers">Create Your LaraDock Containers</h2>
|
||||||
|
|
||||||
|
<pre><code>$root@server:~/laravel/laradock# docker-compose up -d nginx mysql
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
<p>Note that more containers are available, find them in the <a href="http://laradock.io/introduction/#supported-software-containers">docs</a> or the <code>docker-compose.yml</code> file.</p>
|
||||||
|
|
||||||
|
<h2 id="go-to-your-workspace">Go to Your Workspace</h2>
|
||||||
|
|
||||||
|
<pre><code>docker-compose exec workspace bash
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
<h2 id="install-and-configure-laravel">Install and configure Laravel</h2>
|
||||||
|
|
||||||
|
<p>Let&rsquo;s install Laravel&rsquo;s dependencies, add the <code>.env</code> file, generate the key and give proper permissions to the cache folder.</p>
|
||||||
|
|
||||||
|
<pre><code>$ root@workspace:/var/www# composer install
|
||||||
|
$ root@workspace:/var/www# cp .env.example .env
|
||||||
|
$ root@workspace:/var/www# php artisan key:generate
|
||||||
|
$ root@workspace:/var/www# exit
|
||||||
|
$root@server:~/laravel/laradock# cd ..
|
||||||
|
$root@server:~/laravel# sudo chmod -R 777 storage bootstrap/cache
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
<p>You can then view your Laravel site by visiting the IP address of your server in your browser. For example:</p>
|
||||||
|
|
||||||
|
<pre><code>http://192.168.1.1
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
<p>It should show you the Laravel default welcome page.</p>
|
||||||
|
|
||||||
|
<p>However, we want it to show up using your custom domain name, as well.</p>
|
||||||
|
|
||||||
|
<h2 id="using-your-own-domain-name">Using Your Own Domain Name</h2>
|
||||||
|
|
||||||
|
<p>Login to your DNS provider, such as Godaddy, Namecheap.</p>
|
||||||
|
|
||||||
|
<p>Point the Custom Domain Name Server to:</p>
|
||||||
|
|
||||||
|
<pre><code>ns1.digitalocean.com
|
||||||
|
ns2.digitalocean.com
|
||||||
|
ns3.digitalocean.com
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
<p>Within DigitalOcean, you&rsquo;ll need to change some settings, too.</p>
|
||||||
|
|
||||||
|
<p>Visit: <a href="https://cloud.digitalocean.com/networking/domains">https://cloud.digitalocean.com/networking/domains</a></p>
|
||||||
|
|
||||||
|
<p>Add your domain name and choose the server IP you&rsquo;d provision earlier.</p>
|
||||||
|
|
||||||
|
<h2 id="serving-site-with-nginx-http-only">Serving Site With NGINX (HTTP ONLY)</h2>
|
||||||
|
|
||||||
|
<p>Go back to command line.</p>
|
||||||
|
|
||||||
|
<pre><code>$root@server:~/laravel/laradock# cd nginx
|
||||||
|
$root@server:~/laravel/laradock/nginx# vim laravel.conf
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
<p>Remove <code>default_server</code></p>
|
||||||
|
|
||||||
|
<pre><code> listen 80 default_server;
|
||||||
|
listen [::]:80 default_server ipv6only=on;
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
<p>And add <code>server_name</code> (your custom domain)</p>
|
||||||
|
|
||||||
|
<pre><code> listen 80;
|
||||||
|
listen [::]:80 ipv6only=on;
|
||||||
|
server_name yourdomain.com;
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
<h2 id="rebuild-your-nginx">Rebuild Your Nginx</h2>
|
||||||
|
|
||||||
|
<pre><code>$root@server:~/laravel/laradock/nginx# docker-compose down
|
||||||
|
$root@server:~/laravel/laradock/nginx# docker-compose build nginx
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
<h2 id="re-run-your-containers-mysql-and-nginx">Re Run Your Containers MYSQL and NGINX</h2>
|
||||||
|
|
||||||
|
<pre><code>$root@server:~/laravel/laradock/nginx# docker-compose up -d nginx mysql
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
<p><strong>View Your Site with HTTP ONLY (<a href="http://yourdomain.com">http://yourdomain.com</a>)</strong></p>
|
||||||
|
|
||||||
|
<h2 id="run-site-on-ssl-with-let-s-encrypt-certificate">Run Site on SSL with Let&rsquo;s Encrypt Certificate</h2>
|
||||||
|
|
||||||
|
<p><strong>Note: You need to Use Caddy here Instead of Nginx</strong></p>
|
||||||
|
|
||||||
|
<p>To go Caddy Folders and Edit CaddyFile</p>
|
||||||
|
|
||||||
|
<pre><code>$root@server:~/laravel/laradock# cd caddy
|
||||||
|
$root@server:~/laravel/laradock/caddy# vim Caddyfile
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
<p>Remove 0.0.0.0:80</p>
|
||||||
|
|
||||||
|
<pre><code>0.0.0.0:80
|
||||||
|
root /var/www/public
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
<p>and replace with your <a href="https://yourdomain.com">https://yourdomain.com</a></p>
|
||||||
|
|
||||||
|
<pre><code>https://yourdomain.com
|
||||||
|
root /var/www/public
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
<p>uncomment tls</p>
|
||||||
|
|
||||||
|
<pre><code>#tls self-signed
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
<p>and replace self-signed with your email address</p>
|
||||||
|
|
||||||
|
<pre><code>tls serverbreaker@gmai.com
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
<p>This is needed Prior to Creating Let&rsquo;s Encypt</p>
|
||||||
|
|
||||||
|
<h2 id="run-your-caddy-container-without-the-d-flag-and-generate-ssl-with-let-s-encrypt">Run Your Caddy Container without the -d flag and Generate SSL with Let&rsquo;s Encrypt</h2>
|
||||||
|
|
||||||
|
<pre><code>$root@server:~/laravel/laradock/caddy# docker-compose up caddy
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
<p>You&rsquo;ll be prompt here to enter your email&hellip; you may enter it or not</p>
|
||||||
|
|
||||||
|
<pre><code>Attaching to laradock_mysql_1, laradock_caddy_1
|
||||||
|
caddy_1 | Activating privacy features...
|
||||||
|
caddy_1 | Your sites will be served over HTTPS automatically using Let's Encrypt.
|
||||||
|
caddy_1 | By continuing, you agree to the Let's Encrypt Subscriber Agreement at:
|
||||||
|
caddy_1 | https://letsencrypt.org/documents/LE-SA-v1.0.1-July-27-2015.pdf
|
||||||
|
caddy_1 | Activating privacy features... done.
|
||||||
|
caddy_1 | https://yourdomain.com
|
||||||
|
caddy_1 | http://yourdomain.com
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
<p>After it finishes, press <code>Ctrl</code> + <code>C</code> to exit.</p>
|
||||||
|
|
||||||
|
<h2 id="stop-all-containers-and-rerun-caddy-and-other-containers-on-background">Stop All Containers and ReRun Caddy and Other Containers on Background</h2>
|
||||||
|
|
||||||
|
<pre><code>$root@server:~/laravel/laradock/caddy# docker-compose down
|
||||||
|
$root@server:~/laravel/laradock/caddy# docker-compose up -d mysql caddy
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
<p>View your Site in the Browser Securely Using HTTPS (<a href="https://yourdomain.com">https://yourdomain.com</a>)</p>
|
||||||
|
|
||||||
|
<p><strong>Note that Certificate will be Automatically Renew By Caddy</strong></p>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<p>References:</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><a href="https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04">https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04</a></li>
|
||||||
|
<li><a href="https://www.digitalocean.com/products/one-click-apps/docker/">https://www.digitalocean.com/products/one-click-apps/docker/</a></li>
|
||||||
|
<li><a href="https://docs.docker.com/engine/installation/linux/ubuntulinux/">https://docs.docker.com/engine/installation/linux/ubuntulinux/</a></li>
|
||||||
|
<li><a href="https://docs.docker.com/compose/install/">https://docs.docker.com/compose/install/</a></li>
|
||||||
|
<li><a href="https://caddyserver.com/docs/automatic-https">https://caddyserver.com/docs/automatic-https</a></li>
|
||||||
|
<li><a href="https://caddyserver.com/docs/tls">https://caddyserver.com/docs/tls</a></li>
|
||||||
|
<li><a href="https://caddyserver.com/docs/caddyfile">https://caddyserver.com/docs/caddyfile</a></li>
|
||||||
|
</ul>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<p><br>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<br></p>
|
||||||
|
|
||||||
|
<p><a name="PHPStorm-Debugging"></a></p>
|
||||||
|
|
||||||
|
<h1 id="phpstorm-xdebug-setup">PHPStorm XDebug Setup</h1>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><a href="#Intro">Intro</a></li>
|
||||||
|
<li><a href="#Installation">Installation</a>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><a href="#CustomizeDockerCompose">Customize laradock/docker-compose.yml</a>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><a href="#InstallCleanHouse">Clean House</a></li>
|
||||||
|
<li><a href="#InstallLaraDockDialTone">LaraDock Dial Tone</a></li>
|
||||||
|
<li><a href="#AddToHosts">hosts</a></li>
|
||||||
|
<li><a href="#FireWall">Firewall</a></li>
|
||||||
|
<li><a href="#enablePhpXdebug">Enable xDebug on php-fpm</a></li>
|
||||||
|
</ul></li>
|
||||||
|
<li><a href="#InstallPHPStorm">PHPStorm Settings</a>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><a href="#InstallPHPStormConfigs">Configs</a></li>
|
||||||
|
</ul></li>
|
||||||
|
</ul></li>
|
||||||
|
<li><a href="#Usage">Usage</a>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><a href="#UsageLaravel">Laravel</a>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><a href="#UsagePHPStormRunExampleTest">Run ExampleTest</a></li>
|
||||||
|
<li><a href="#UsagePHPStormDebugExampleTest">Debug ExampleTest</a></li>
|
||||||
|
<li><a href="#UsagePHPStormDebugSite">Debug Web Site</a></li>
|
||||||
|
</ul></li>
|
||||||
|
</ul></li>
|
||||||
|
<li><a href="#SSHintoWorkspace">SSH into workspace</a>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><a href="#InstallKiTTY">KiTTY</a></li>
|
||||||
|
</ul></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p><a name="Intro"></a></p>
|
||||||
|
|
||||||
|
<h2 id="intro">Intro</h2>
|
||||||
|
|
||||||
|
<p>Wiring up <a href="https://laravel.com/">Laravel</a>, <a href="https://github.com/LaraDock/laradock">LaraDock</a> [Laravel+Docker] and <a href="https://www.jetbrains.com/phpstorm/">PHPStorm</a> to play nice together complete with remote xdebug&rsquo;ing as icing on top! Although this guide is based on <code>PHPStorm Windows</code>,
|
||||||
|
you should be able to adjust accordingly. This guide was written based on Docker for Windows Native.</p>
|
||||||
|
|
||||||
|
<p><a name="Installation"></a></p>
|
||||||
|
|
||||||
|
<h2 id="installation">Installation</h2>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>This guide assumes the following:
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>you have already installed and are familiar with Laravel, LaraDock and PHPStorm.</li>
|
||||||
|
<li>you have installed Laravel as a parent of <code>laradock</code>. This guide assumes <code>/c/_dk/laravel</code>.</li>
|
||||||
|
</ul></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p><a name="AddToHosts"></a></p>
|
||||||
|
|
||||||
|
<h2 id="hosts">hosts</h2>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><p>Add <code>laravel</code> to your hosts file located on Windows 10 at <code>C:\Windows\System32\drivers\etc\hosts</code>. It should be set to the IP of your running container. Mine is: <code>10.0.75.2</code>
|
||||||
|
On Windows you can find it by opening Windows <code>Hyper-V Manager</code>.</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><img src="photos/PHPStorm/Settings/WindowsHyperVManager.png" alt="Windows Hyper-V Manager" /></li>
|
||||||
|
</ul></li>
|
||||||
|
|
||||||
|
<li><p><a href="https://github.com/scottlerch/HostsFileEditor">Hosts File Editor</a> makes it easy to change your hosts file.</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Set <code>laravel</code> to your docker host IP. See <a href="photos/SimpleHostsEditor/AddHost_laravel.png">Example</a>.</li>
|
||||||
|
</ul></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p><a name="FireWall"></a></p>
|
||||||
|
|
||||||
|
<h2 id="firewall">Firewall</h2>
|
||||||
|
|
||||||
|
<p>Your PHPStorm will need to be able to receive a connection from PHP xdebug either your running workspace or php-fpm containers on port 9000. This means that your Windows Firewall should either enable connections from the Application PHPStorm OR the port.</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>It is important to note that if the Application PHPStorm is NOT enabled in the firewall, you will not be able to recreate a rule to override that.</li>
|
||||||
|
<li>Also be aware that if you are installing/upgrade different versions of PHPStorm, you MAY have orphaned references to PHPStorm in your Firewall! You may decide to remove orphaned references however in either case, make sure that they are set to receive public TCP traffic.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3 id="edit-laradock-docker-compose-yml">Edit laradock/docker-compose.yml</h3>
|
||||||
|
|
||||||
|
<p>Set the following variables:</p>
|
||||||
|
|
||||||
|
<pre><code>### Workspace Utilities Container ###############
|
||||||
|
|
||||||
|
workspace:
|
||||||
|
build:
|
||||||
|
context: ./workspace
|
||||||
|
args:
|
||||||
|
- INSTALL_XDEBUG=true
|
||||||
|
- INSTALL_WORKSPACE_SSH=true
|
||||||
|
...
|
||||||
|
|
||||||
|
|
||||||
|
### PHP-FPM Container #####################
|
||||||
|
|
||||||
|
php-fpm:
|
||||||
|
build:
|
||||||
|
context: ./php-fpm
|
||||||
|
args:
|
||||||
|
- INSTALL_XDEBUG=true
|
||||||
|
...
|
||||||
|
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
<h3 id="edit-xdebug-ini-files">Edit xdebug.ini files</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><code>laradock/workspace/xdebug.ini</code></li>
|
||||||
|
<li><code>laradock/php-fpm/xdebug.ini</code></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>Set the following variables:</p>
|
||||||
|
|
||||||
|
<pre><code>xdebug.remote_autostart=1
|
||||||
|
xdebug.remote_enable=1
|
||||||
|
xdebug.remote_connect_back=1
|
||||||
|
xdebug.cli_color=1
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
<p><a name="InstallCleanHouse"></a></p>
|
||||||
|
|
||||||
|
<h3 id="need-to-clean-house-first">Need to clean house first?</h3>
|
||||||
|
|
||||||
|
<p>Make sure you are starting with a clean state. For example, do you have other LaraDock containers and images?
|
||||||
|
Here are a few things I use to clean things up.</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><p>Delete all containers using <code>grep laradock_</code> on the names, see: <a href="https://linuxconfig.org/remove-all-containners-based-on-docker-image-name">Remove all containers based on docker image name</a>.
|
||||||
|
<code>docker ps -a | awk '{ print $1,$2 }' | grep laradock_ | awk '{print $1}' | xargs -I {} docker rm {}</code></p></li>
|
||||||
|
|
||||||
|
<li><p>Delete all images containing <code>laradock</code>.
|
||||||
|
<code>docker images | awk '{print $1,$2,$3}' | grep laradock_ | awk '{print $3}' | xargs -I {} docker rmi {}</code>
|
||||||
|
<strong>Note:</strong> This will only delete images that were built with <code>LaraDock</code>, <strong>NOT</strong> <code>laradock/*</code> which are pulled down by <code>LaraDock</code> such as <code>laradock/workspace</code>, etc.
|
||||||
|
<strong>Note:</strong> Some may fail with:
|
||||||
|
<code>Error response from daemon: conflict: unable to delete 3f38eaed93df (cannot be forced) - image has dependent child images</code></p></li>
|
||||||
|
|
||||||
|
<li><p>I added this to my <code>.bashrc</code> to remove orphaned images.</p>
|
||||||
|
|
||||||
|
<pre><code>dclean() {
|
||||||
|
processes=`docker ps -q -f status=exited`
|
||||||
|
if [ -n &quot;$processes&quot; ]; thend
|
||||||
|
docker rm $processes
|
||||||
|
fi
|
||||||
|
|
||||||
|
images=`docker images -q -f dangling=true`
|
||||||
|
if [ -n &quot;$images&quot; ]; then
|
||||||
|
docker rmi $images
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
</code></pre></li>
|
||||||
|
|
||||||
|
<li><p>If you frequently switch configurations for LaraDock, you may find that adding the following and added to your <code>.bashrc</code> or equivalent useful:
|
||||||
|
```</p>
|
||||||
|
|
||||||
|
<h1 id="remove-laravel-containers">remove laravel* containers</h1>
|
||||||
|
|
||||||
|
<h1 id="remove-laravel-images">remove laravel_* images</h1>
|
||||||
|
|
||||||
|
<p>dcleanlaradockfunction()
|
||||||
|
{
|
||||||
|
echo &lsquo;Removing ALL containers associated with laradock&rsquo;
|
||||||
|
docker ps -a | awk &lsquo;{ print $1,$2 }&rsquo; | grep laradock | awk &lsquo;{print $1}&rsquo; | xargs -I {} docker rm {}</p></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p> # remove ALL images associated with laradock_
|
||||||
|
# does NOT delete laradock/* which are hub images
|
||||||
|
echo &lsquo;Removing ALL images associated with laradock<em>&lsquo;
|
||||||
|
docker images | awk &lsquo;{print $1,$2,$3}&rsquo; | grep laradock</em> | awk &lsquo;{print $3}&rsquo; | xargs -I {} docker rmi {}</p>
|
||||||
|
|
||||||
|
<p> echo &lsquo;Listing all laradock docker hub images&hellip;&rsquo;
|
||||||
|
docker images | grep laradock</p>
|
||||||
|
|
||||||
|
<p> echo &lsquo;dcleanlaradock completed&rsquo;
|
||||||
|
}</p>
|
||||||
|
|
||||||
|
<h1 id="associate-the-above-function-with-an-alias">associate the above function with an alias</h1>
|
||||||
|
|
||||||
|
<h1 id="so-can-recall-lookup-by-typing-alias">so can recall/lookup by typing &lsquo;alias&rsquo;</h1>
|
||||||
|
|
||||||
|
<p>alias dcleanlaradock=dcleanlaradockfunction</p>
|
||||||
|
|
||||||
|
<pre><code>
|
||||||
|
&lt;a name=&quot;InstallLaraDockDialTone&quot;&gt;&lt;/a&gt;
|
||||||
|
## Let's get a dial-tone with Laravel
|
||||||
|
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
<h1 id="barebones-at-this-point">barebones at this point</h1>
|
||||||
|
|
||||||
|
<p>docker-compose up -d nginx mysql</p>
|
||||||
|
|
||||||
|
<h1 id="run">run</h1>
|
||||||
|
|
||||||
|
<p>docker-compose ps</p>
|
||||||
|
|
||||||
|
<h1 id="should-see">Should see:</h1>
|
||||||
|
|
||||||
|
<pre><code> Name Command State Ports
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<p>laradock_mysql_1 docker-entrypoint.sh mysqld Up 0.0.0.0:3306-&gt;3306/tcp
|
||||||
|
laradock_nginx_1 nginx Up 0.0.0.0:443-&gt;443/tcp, 0.0.0.0:80-&gt;80/tcp
|
||||||
|
laradock_php-fpm_1 php-fpm Up 9000/tcp
|
||||||
|
laradock_volumes_data_1 true Exit 0
|
||||||
|
laradock_volumes_source_1 true Exit 0
|
||||||
|
laradock_workspace_1 /sbin/my_init Up 0.0.0.0:2222-&gt;22/tcp</p>
|
||||||
|
|
||||||
|
<pre><code>
|
||||||
|
&lt;a name=&quot;enablePhpXdebug&quot;&gt;&lt;/a&gt;
|
||||||
|
## Enable xDebug on php-fpm
|
||||||
|
In a host terminal sitting in the laradock folder, run: `./xdebugPhpFpm status`
|
||||||
|
You should see something like the following:
|
||||||
|
</code></pre>
|
||||||
|
|
||||||
|
<p>xDebug status
|
||||||
|
laradock_php-fpm_1
|
||||||
|
PHP 7.0.9 (cli) (built: Aug 10 2016 19:45:48) ( NTS )
|
||||||
|
Copyright &copy; 1997-2016 The PHP Group
|
||||||
|
Zend Engine v3.0.0, Copyright &copy; 1998-2016 Zend Technologies
|
||||||
|
with Xdebug v2.4.1, Copyright &copy; 2002-2016, by Derick Rethans
|
||||||
|
``<code>
|
||||||
|
Other commands include</code>./xdebugPhpFpm start | stop`.</p>
|
||||||
|
|
||||||
|
<p>If you have enabled <code>xdebug=true</code> in <code>docker-compose.yml/php-fpm</code>, <code>xdebug</code> will already be running when
|
||||||
|
<code>php-fpm</code> is started and listening for debug info on port 9000.</p>
|
||||||
|
|
||||||
|
<p><a name="InstallPHPStormConfigs"></a></p>
|
||||||
|
|
||||||
|
<h2 id="phpstorm-settings">PHPStorm Settings</h2>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><p>Here are some settings that are known to work:</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><p><code>Settings/BuildDeploymentConnection</code></p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><img src="photos/PHPStorm/Settings/BuildDeploymentConnection.png" alt="Settings/BuildDeploymentConnection" /></li>
|
||||||
|
</ul></li>
|
||||||
|
|
||||||
|
<li><p><code>Settings/BuildDeploymentConnectionMappings</code></p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><img src="photos/PHPStorm/Settings/BuildDeploymentConnectionMappings.png" alt="Settings/BuildDeploymentConnectionMappings" /></li>
|
||||||
|
</ul></li>
|
||||||
|
|
||||||
|
<li><p><code>Settings/BuildDeploymentDebugger</code></p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><img src="photos/PHPStorm/Settings/BuildDeploymentDebugger.png" alt="Settings/BuildDeploymentDebugger" /></li>
|
||||||
|
</ul></li>
|
||||||
|
|
||||||
|
<li><p><code>Settings/EditRunConfigurationRemoteWebDebug</code></p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><img src="photos/PHPStorm/Settings/EditRunConfigurationRemoteWebDebug.png" alt="Settings/EditRunConfigurationRemoteWebDebug" /></li>
|
||||||
|
</ul></li>
|
||||||
|
|
||||||
|
<li><p><code>Settings/EditRunConfigurationRemoteExampleTestDebug</code></p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><img src="photos/PHPStorm/Settings/EditRunConfigurationRemoteExampleTestDebug.png" alt="Settings/EditRunConfigurationRemoteExampleTestDebug" /></li>
|
||||||
|
</ul></li>
|
||||||
|
|
||||||
|
<li><p><code>Settings/LangsPHPDebug</code></p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><img src="photos/PHPStorm/Settings/LangsPHPDebug.png" alt="Settings/LangsPHPDebug" /></li>
|
||||||
|
</ul></li>
|
||||||
|
|
||||||
|
<li><p><code>Settings/LangsPHPInterpreters</code></p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><img src="photos/PHPStorm/Settings/LangsPHPInterpreters.png" alt="Settings/LangsPHPInterpreters" /></li>
|
||||||
|
</ul></li>
|
||||||
|
|
||||||
|
<li><p><code>Settings/LangsPHPPHPUnit</code></p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><img src="photos/PHPStorm/Settings/LangsPHPPHPUnit.png" alt="Settings/LangsPHPPHPUnit" /></li>
|
||||||
|
</ul></li>
|
||||||
|
|
||||||
|
<li><p><code>Settings/LangsPHPServers</code></p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><img src="photos/PHPStorm/Settings/LangsPHPServers.png" alt="Settings/LangsPHPServers" /></li>
|
||||||
|
</ul></li>
|
||||||
|
|
||||||
|
<li><p><code>RemoteHost</code>
|
||||||
|
To switch on this view, go to: <code>Menu/Tools/Deployment/Browse Remote Host</code>.</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><img src="photos/PHPStorm/RemoteHost.png" alt="RemoteHost" /></li>
|
||||||
|
</ul></li>
|
||||||
|
|
||||||
|
<li><p><code>RemoteWebDebug</code></p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><img src="photos/PHPStorm/DebugRemoteOn.png" alt="DebugRemoteOn" /></li>
|
||||||
|
</ul></li>
|
||||||
|
|
||||||
|
<li><p><code>EditRunConfigurationRemoteWebDebug</code>
|
||||||
|
Go to: <code>Menu/Run/Edit Configurations</code>.</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><img src="photos/PHPStorm/Settings/EditRunConfigurationRemoteWebDebug.png" alt="EditRunConfigurationRemoteWebDebug" /></li>
|
||||||
|
</ul></li>
|
||||||
|
|
||||||
|
<li><p><code>EditRunConfigurationRemoteExampleTestDebug</code>
|
||||||
|
Go to: <code>Menu/Run/Edit Configurations</code>.</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><img src="photos/PHPStorm/Settings/EditRunConfigurationRemoteExampleTestDebug.png" alt="EditRunConfigurationRemoteExampleTestDebug" /></li>
|
||||||
|
</ul></li>
|
||||||
|
|
||||||
|
<li><p><code>WindowsFirewallAllowedApps</code>
|
||||||
|
Go to: <code>Control Panel\All Control Panel Items\Windows Firewall\Allowed apps</code>.</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><img src="photos/PHPStorm/Settings/WindowsFirewallAllowedApps.png" alt="WindowsFirewallAllowedApps.png" /></li>
|
||||||
|
</ul></li>
|
||||||
|
|
||||||
|
<li><p><code>hosts</code>
|
||||||
|
Edit: <code>C:\Windows\System32\drivers\etc\hosts</code>.</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><p><img src="photos/PHPStorm/Settings/hosts.png" alt="WindowsFirewallAllowedApps.png" /></p></li>
|
||||||
|
|
||||||
|
<li><p><a href="#enablePhpXdebug">Enable xDebug on php-fpm</a></p></li>
|
||||||
|
</ul></li>
|
||||||
|
</ul></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p><a name="Usage"></a></p>
|
||||||
|
|
||||||
|
<h2 id="usage">Usage</h2>
|
||||||
|
|
||||||
|
<p><a name="UsagePHPStormRunExampleTest"></a></p>
|
||||||
|
|
||||||
|
<h3 id="run-exampletest">Run ExampleTest</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>right-click on <code>tests/ExampleTest.php</code>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Select: <code>Run 'ExampleTest.php'</code> or <code>Ctrl+Shift+F10</code>.</li>
|
||||||
|
<li>Should pass!! You just ran a remote test via SSH!</li>
|
||||||
|
</ul></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p><a name="UsagePHPStormDebugExampleTest"></a></p>
|
||||||
|
|
||||||
|
<h3 id="debug-exampletest">Debug ExampleTest</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Open to edit: <code>tests/ExampleTest.php</code></li>
|
||||||
|
<li>Add a BreakPoint on line 16: <code>$this-&gt;visit('/')</code></li>
|
||||||
|
<li>right-click on <code>tests/ExampleTest.php</code>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Select: <code>Debug 'ExampleTest.php'</code>.</li>
|
||||||
|
<li>Should have stopped at the BreakPoint!! You are now debugging locally against a remote Laravel project via SSH!</li>
|
||||||
|
<li><img src="photos/PHPStorm/RemoteTestDebuggingSuccess.png" alt="Remote Test Debugging Success" /></li>
|
||||||
|
</ul></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p><a name="UsagePHPStormDebugSite"></a></p>
|
||||||
|
|
||||||
|
<h3 id="debug-website">Debug WebSite</h3>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><p>In case xDebug is disabled, from the <code>laradock</code> folder run:
|
||||||
|
<code>./xdebugPhpFpm start</code>.</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>To switch xdebug off, run:
|
||||||
|
<code>./xdebugPhpFpm stop</code></li>
|
||||||
|
</ul></li>
|
||||||
|
|
||||||
|
<li><p>Start Remote Debugging</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><img src="photos/PHPStorm/DebugRemoteOn.png" alt="DebugRemoteOn" /></li>
|
||||||
|
</ul></li>
|
||||||
|
|
||||||
|
<li><p>Open to edit: <code>bootstrap/app.php</code></p></li>
|
||||||
|
|
||||||
|
<li><p>Add a BreakPoint on line 14: <code>$app = new Illuminate\Foundation\Application(</code></p></li>
|
||||||
|
|
||||||
|
<li><p>Reload <a href="http://laravel/">Laravel Site</a></p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Should have stopped at the BreakPoint!! You are now debugging locally against a remote Laravel project via SSH!</li>
|
||||||
|
<li><img src="photos/PHPStorm/RemoteDebuggingSuccess.png" alt="Remote Debugging Success" /></li>
|
||||||
|
</ul></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p><a name="SSHintoWorkspace"></a></p>
|
||||||
|
|
||||||
|
<h2 id="let-s-shell-into-workspace">Let&rsquo;s shell into workspace</h2>
|
||||||
|
|
||||||
|
<p>Assuming that you are in laradock folder, type:
|
||||||
|
<code>ssh -i workspace/insecure_id_rsa -p2222 root@laravel</code>
|
||||||
|
<strong>Cha Ching!!!!</strong>
|
||||||
|
- <code>workspace/insecure_id_rsa.ppk</code> may become corrupted. In which case:
|
||||||
|
- fire up <code>puttygen</code>
|
||||||
|
- import <code>workspace/insecure_id_rsa</code>
|
||||||
|
- save private key to <code>workspace/insecure_id_rsa.ppk</code></p>
|
||||||
|
|
||||||
|
<p><a name="InstallKiTTY"></a></p>
|
||||||
|
|
||||||
|
<h3 id="kitty">KiTTY</h3>
|
||||||
|
|
||||||
|
<p><a href="http://www.9bis.net/kitty/">Kitty</a> KiTTY is a fork from version 0.67 of PuTTY.</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Here are some settings that are working for me:
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><img src="photos/KiTTY/Session.png" alt="Session" /></li>
|
||||||
|
<li><img src="photos/KiTTY/Terminal.png" alt="Terminal" /></li>
|
||||||
|
<li><img src="photos/KiTTY/Window.png" alt="Window" /></li>
|
||||||
|
<li><img src="photos/KiTTY/WindowAppearance.png" alt="WindowAppearance" /></li>
|
||||||
|
<li><img src="photos/KiTTY/Connection.png" alt="Connection" /></li>
|
||||||
|
<li><img src="photos/KiTTY/ConnectionData.png" alt="ConnectionData" /></li>
|
||||||
|
<li><img src="photos/KiTTY/ConnectionSSH.png" alt="ConnectionSSH" /></li>
|
||||||
|
<li><img src="photos/KiTTY/ConnectionSSHAuth.png" alt="ConnectionSSHAuth" /></li>
|
||||||
|
<li><img src="photos/KiTTY/TerminalShell.png" alt="TerminalShell" /></li>
|
||||||
|
</ul></li>
|
||||||
|
</ul>
|
||||||
|
</description>
|
||||||
|
</item>
|
||||||
|
|
||||||
|
<item>
|
||||||
|
<title>Help & Questions</title>
|
||||||
|
<link>http://laradock.io/help/</link>
|
||||||
|
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||||
|
|
||||||
|
<guid>http://laradock.io/help/</guid>
|
||||||
|
<description><p>Join the chat room on <a href="https://gitter.im/Laradock/laradock">Gitter</a> and get help and support from the community.</p>
|
||||||
|
|
||||||
|
<p>You can as well can open an <a href="https://github.com/laradock/laradock/issues">issue</a> on Github (will be labeled as Question) and discuss it with people on <a href="https://gitter.im/Laradock/laradock">Gitter</a>.</p>
|
||||||
|
</description>
|
||||||
|
</item>
|
||||||
|
|
||||||
<item>
|
<item>
|
||||||
<title>Related Projects</title>
|
<title>Related Projects</title>
|
||||||
<link>http://laradock.io/related-projects/</link>
|
<link>http://laradock.io/related-projects/</link>
|
||||||
@ -1686,18 +2310,6 @@ These Docker Compose projects have piqued our interest:</li>
|
|||||||
</description>
|
</description>
|
||||||
</item>
|
</item>
|
||||||
|
|
||||||
<item>
|
|
||||||
<title>Help & Questions</title>
|
|
||||||
<link>http://laradock.io/help/</link>
|
|
||||||
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
|
||||||
|
|
||||||
<guid>http://laradock.io/help/</guid>
|
|
||||||
<description><p>Join the chat room on <a href="https://gitter.im/Laradock/laradock">Gitter</a> and get help and support from the community.</p>
|
|
||||||
|
|
||||||
<p>You can as well can open an <a href="https://github.com/laradock/laradock/issues">issue</a> on Github (will be labeled as Question) and discuss it with people on <a href="https://gitter.im/Laradock/laradock">Gitter</a>.</p>
|
|
||||||
</description>
|
|
||||||
</item>
|
|
||||||
|
|
||||||
<item>
|
<item>
|
||||||
<title>Contributing</title>
|
<title>Contributing</title>
|
||||||
<link>http://laradock.io/contributing/</link>
|
<link>http://laradock.io/contributing/</link>
|
||||||
@ -1738,20 +2350,26 @@ features, by not reporting duplicate issues.</em></p>
|
|||||||
|
|
||||||
<p>Laradock uses <a href="https://gohugo.io/">Hugo</a> as website generator tool, with the <a href="http://themes.gohugo.io/theme/material-docs/">Material Docs theme</a>. You might need to check their docs quickly.</p>
|
<p>Laradock uses <a href="https://gohugo.io/">Hugo</a> as website generator tool, with the <a href="http://themes.gohugo.io/theme/material-docs/">Material Docs theme</a>. You might need to check their docs quickly.</p>
|
||||||
|
|
||||||
<ol>
|
<p>Go the <code>DOCUMENTATION/content</code> and search for the markdown file you want to edit</p>
|
||||||
<li>Install <a href="https://gohugo.io/">Hugo</a> on your machine (easy thing).</li>
|
|
||||||
<li>Open the <code>DOCUMENTATION/_settings/content</code> and search for the markdown file you want to edit (every folder represents a section in the menu).</li>
|
<p>Note: Every folder represents a section in the sidebar &ldquo;Menu&rdquo;. And every page and sidebar has a <code>weight</code> number to show it&rsquo;s position in the site.</p>
|
||||||
<li>Delete the <code>/docs</code> folder from the root.</li>
|
|
||||||
<li>When you finish editing, go to <code>DOCUMENTATION/_settings/</code> and run the <code>hugo</code> command to generate the HTML docs (inside new <code>/docs</code> folder).</li>
|
<p>To update the sidebar or add a new section to it, you can edit this <code>DOCUMENTATION/config.toml</code> toml file.</p>
|
||||||
</ol>
|
|
||||||
|
<blockquote>
|
||||||
|
<p>The site will be auto-generated in the <code>docs/</code> folder by <a href="https://travis-ci.org/laradock/laradock/">Travis CI</a>.</p>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<p><br></p>
|
||||||
|
|
||||||
<h3 id="to-host-the-website-locally">To Host the website locally</h3>
|
<h3 id="to-host-the-website-locally">To Host the website locally</h3>
|
||||||
|
|
||||||
<p>Go to <code>DOCUMENTATION/_settings</code> in your terminal and run <code>hugo serve</code> to host the website locally.</p>
|
<ol>
|
||||||
|
<li>Install <a href="https://gohugo.io/">Hugo</a> on your machine.</li>
|
||||||
<h3 id="edit-the-sidebar">Edit the sidebar</h3>
|
<li>Edit the <code>DOCUMENTATION/content</code>.</li>
|
||||||
|
<li>Delete the <code>/docs</code> folder from the root.</li>
|
||||||
<p>To add a new section to the sidebar or edit existing one, you need to edit this file <code>DOCUMENTATION/_settings/config.toml</code>.</p>
|
<li>After you finish the editing, go to <code>DOCUMENTATION/</code> and run the <code>hugo</code> command to generate the HTML docs (inside a new <code>/docs</code> folder).</li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
<h2 id="how-to-support-new-software-add-new-container">How to support new Software (Add new Container)</h2>
|
<h2 id="how-to-support-new-software-add-new-container">How to support new Software (Add new Container)</h2>
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
<meta name="generator" content="Hugo 0.19" />
|
<meta name="generator" content="Hugo 0.19" />
|
||||||
|
|
||||||
|
|
||||||
<meta name="description" content="Laradock documentations.">
|
<meta name="description" content="Full PHP development environment for Docker.">
|
||||||
|
|
||||||
<link rel="canonical" href="http://laradock.io/introduction/">
|
<link rel="canonical" href="http://laradock.io/introduction/">
|
||||||
|
|
||||||
@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
<meta property="og:url" content="http://laradock.io/introduction/">
|
<meta property="og:url" content="http://laradock.io/introduction/">
|
||||||
<meta property="og:title" content="Laradock">
|
<meta property="og:title" content="Laradock">
|
||||||
|
<meta property="og:image" content="http://laradock.io/images/logo.png">
|
||||||
<meta name="apple-mobile-web-app-title" content="Laradock">
|
<meta name="apple-mobile-web-app-title" content="Laradock">
|
||||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
||||||
@ -129,15 +129,19 @@
|
|||||||
<main class="main">
|
<main class="main">
|
||||||
<div class="drawer">
|
<div class="drawer">
|
||||||
<nav aria-label="Navigation">
|
<nav aria-label="Navigation">
|
||||||
|
<a href="http://laradock.io/" class="project">
|
||||||
|
<div class="banner">
|
||||||
|
|
||||||
|
<div class="logo">
|
||||||
|
<img src="http://laradock.io/images/logo.png">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
|
||||||
<div class="scrollable">
|
<div class="scrollable">
|
||||||
<div class="wrapper">
|
<div class="wrapper">
|
||||||
@ -214,9 +218,9 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a title="Related Projects" href="http://laradock.io/related-projects/">
|
<a title="Giudes" href="http://laradock.io/guides/">
|
||||||
|
|
||||||
Related Projects
|
Giudes
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
@ -250,6 +254,24 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a title="Related Projects" href="http://laradock.io/related-projects/">
|
||||||
|
|
||||||
|
Related Projects
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a title="Contributing" href="http://laradock.io/contributing/">
|
<a title="Contributing" href="http://laradock.io/contributing/">
|
||||||
|
|
||||||
Contributing
|
Contributing
|
||||||
@ -313,15 +335,17 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<p>Laradock strives to make the PHP development experience easier and faster.</p>
|
<p>A full PHP development environment for Docker.</p>
|
||||||
|
|
||||||
<p>It contains pre-packaged Docker Images that provides you a wonderful <em>development</em> environment without requiring you to install PHP, NGINX, MySQL, Redis, and any other software on your machines.</p>
|
<p>Includes pre-packaged Docker Images, all pre-configured to provide a wonderful PHP development environment.</p>
|
||||||
|
|
||||||
<p>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…).</p>
|
<p>Laradock is well known in the Laravel community, as the project started with single focus on running Laravel projects on Docker. Later and due to the large adoption from the PHP community, it started supporting other PHP projects like Symfony, CodeIgniter, WordPress, Drupal…</p>
|
||||||
|
|
||||||
|
<p><img src="https://s19.postimg.org/jblfytw9f/laradock-logo.jpg" alt="" /></p>
|
||||||
|
|
||||||
<h2 id="quick-overview">Quick Overview</h2>
|
<h2 id="quick-overview">Quick Overview</h2>
|
||||||
|
|
||||||
<p>Let’s see how easy it is to install <code>NGINX</code>, <code>PHP</code>, <code>Composer</code>, <code>MySQL</code>, <code>Redis</code> and <code>beanstalkd</code>:</p>
|
<p>Let’s see how easy it is to install <code>NGINX</code>, <code>PHP</code>, <code>Composer</code>, <code>MySQL</code>, <code>Redis</code> and <code>Beanstalkd</code>:</p>
|
||||||
|
|
||||||
<p>1 - Clone Laradock inside your PHP project:</p>
|
<p>1 - Clone Laradock inside your PHP project:</p>
|
||||||
|
|
||||||
@ -338,18 +362,75 @@
|
|||||||
<pre><code class="language-shell">docker-compose up -d nginx mysql redis beanstalkd
|
<pre><code class="language-shell">docker-compose up -d nginx mysql redis beanstalkd
|
||||||
</code></pre>
|
</code></pre>
|
||||||
|
|
||||||
<p>3 - Open your project’s <code>.env</code> file and set the following:</p>
|
<p>4 - Open your project’s <code>.env</code> file and set the following:</p>
|
||||||
|
|
||||||
<pre><code class="language-shell">DB_HOST=mysql
|
<pre><code class="language-shell">DB_HOST=mysql
|
||||||
REDIS_HOST=redis
|
REDIS_HOST=redis
|
||||||
QUEUE_HOST=beanstalkd
|
QUEUE_HOST=beanstalkd
|
||||||
</code></pre>
|
</code></pre>
|
||||||
|
|
||||||
<p>4 - Open your browser and visit localhost: <code>http://localhost</code>.</p>
|
<p>5 - Open your browser and visit localhost: <code>http://localhost</code>.</p>
|
||||||
|
|
||||||
<pre><code class="language-shell">That's it! enjoy :)
|
<pre><code class="language-shell">That's it! enjoy :)
|
||||||
</code></pre>
|
</code></pre>
|
||||||
|
|
||||||
|
<p><a name="features"></a></p>
|
||||||
|
|
||||||
|
<h2 id="features">Features</h2>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Easy switch between PHP versions: 7.1, 7.0, 5.6…</li>
|
||||||
|
<li>Choose your favorite database engine: MySQL, Postgres, MariaDB…</li>
|
||||||
|
<li>Run your own combination of software: Memcached, HHVM, Beanstalkd…</li>
|
||||||
|
<li>Every software runs on a separate container: PHP-FPM, NGINX, PHP-CLI…</li>
|
||||||
|
<li>Easy to customize any container, with simple edit to the <code>Dockerfile</code>.</li>
|
||||||
|
<li>All Images extends from an official base Image. (Trusted base Images).</li>
|
||||||
|
<li>Pre-configured NGINX to host any code at your root directory.</li>
|
||||||
|
<li>Can use Laradock per project, or single Laradock for all projects.</li>
|
||||||
|
<li>Easy to install/remove software’s in Containers using environment variables.</li>
|
||||||
|
<li>Clean and well structured Dockerfiles (<code>Dockerfile</code>).</li>
|
||||||
|
<li>Latest version of the Docker Compose file (<code>docker-compose</code>).</li>
|
||||||
|
<li>Everything is visible and editable.</li>
|
||||||
|
<li>Fast Images Builds.</li>
|
||||||
|
<li>More to come every week..</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p><a name="Supported-Containers"></a></p>
|
||||||
|
|
||||||
|
<h2 id="supported-software-images">Supported Software (Images)</h2>
|
||||||
|
|
||||||
|
<p>In adhering to the separation of concerns principle as promoted by Docker, Laradock runs each software on its own Container.
|
||||||
|
You can turn On/Off as many instances of as any container without worrying about the configurations, everything works like a charm.</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><strong>Database Engines:</strong>
|
||||||
|
MySQL - MariaDB - MongoDB - Neo4j - RethinkDB - MSSQL - PostgreSQL - Postgres Postgis.</li>
|
||||||
|
<li><strong>Cache Engines:</strong>
|
||||||
|
Redis - Memcached - Aerospike</li>
|
||||||
|
<li><strong>PHP Servers:</strong>
|
||||||
|
NGINX - Apache2 - Caddy</li>
|
||||||
|
<li><strong>PHP Compilers:</strong>
|
||||||
|
PHP FPM - HHVM</li>
|
||||||
|
<li><strong>Message Queuing:</strong>
|
||||||
|
Beanstalkd - Beanstalkd Console - RabbitMQ - RabbitMQ Console - PHP Worker</li>
|
||||||
|
<li><strong>Tools:</strong>
|
||||||
|
HAProxy - Jenkins - ElasticSearch - Selenium - Certbot - Mailhog - Minio - Varnish - PhpMyAdmin - Adminer - PgAdmin - MailHog…</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>Laradock introduces the <strong>Workspace</strong> Image, as a development environment.
|
||||||
|
It contains a rich set of helpful tools, all pre-configured to work and integrate with almost any combination of Containers and tools you may choose.</p>
|
||||||
|
|
||||||
|
<p><strong>Workspace Image Tools</strong>
|
||||||
|
PHP CLI - Composer - Git - Linuxbrew - Node - V8JS - Gulp - SQLite - xDebug - Envoy - Deployer - Vim - Yarn - SOAP - Drush…</p>
|
||||||
|
|
||||||
|
<p>You can choose, which tools to install in your workspace container and other containers, from the <code>.env</code> file.</p>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<p>If you modify <code>docker-compose.yml</code>, <code>.env</code> or any <code>dockerfile</code> file, you must re-build your containers, to see those effects in the running instance.</p>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<p>If you can’t find your Software in the list, build it yourself and sumit it. Contributions are welcomed :)</p>
|
||||||
|
|
||||||
<p><a name="what-is-docker"></a></p>
|
<p><a name="what-is-docker"></a></p>
|
||||||
|
|
||||||
<h2 id="what-is-docker">What is Docker?</h2>
|
<h2 id="what-is-docker">What is Docker?</h2>
|
||||||
@ -368,24 +449,6 @@ QUEUE_HOST=beanstalkd
|
|||||||
|
|
||||||
<p>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).</p>
|
<p>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).</p>
|
||||||
|
|
||||||
<p><a name="laradock-vs-homestead"></a></p>
|
|
||||||
|
|
||||||
<h2 id="laradock-vs-homestead-for-laravel-developers">Laradock VS Homestead (For Laravel Developers)</h2>
|
|
||||||
|
|
||||||
<blockquote>
|
|
||||||
<p>Laradock It’s like Laravel Homestead but for Docker instead of Vagrant.</p>
|
|
||||||
</blockquote>
|
|
||||||
|
|
||||||
<p>Laradock and <a href="https://laravel.com/docs/master/homestead">Homestead</a> both give you complete virtual development environments. (Without the need to install and configure every single software on your own Operating System).</p>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li><p>Homestead is a tool that controls Vagrant for you (using Homestead special commands). And Vagrant manages your Virtual Machine.</p></li>
|
|
||||||
|
|
||||||
<li><p>Laradock is a tool that controls Docker for you (using Docker & Docker Compose official commands). And Docker manages your Virtual Containers.</p></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<p>Running a virtual container is much faster than running a full virtual Machine. Thus <strong>Laradock is much faster than Homestead</strong>.</p>
|
|
||||||
|
|
||||||
<p><a name="Demo"></a></p>
|
<p><a name="Demo"></a></p>
|
||||||
|
|
||||||
<h2 id="demo-video">Demo Video</h2>
|
<h2 id="demo-video">Demo Video</h2>
|
||||||
@ -393,111 +456,13 @@ QUEUE_HOST=beanstalkd
|
|||||||
<p>What’s better than a <strong>Demo Video</strong>:</p>
|
<p>What’s better than a <strong>Demo Video</strong>:</p>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
|
<li>Laradock v5.* (soon or never)</li>
|
||||||
<li>Laradock <a href="https://www.youtube.com/watch?v=TQii1jDa96Y">v4.*</a></li>
|
<li>Laradock <a href="https://www.youtube.com/watch?v=TQii1jDa96Y">v4.*</a></li>
|
||||||
<li>Laradock <a href="https://www.youtube.com/watch?v=-DamFMczwDA">v2.*</a></li>
|
<li>Laradock <a href="https://www.youtube.com/watch?v=-DamFMczwDA">v2.*</a></li>
|
||||||
<li>Laradock <a href="https://www.youtube.com/watch?v=jGkyO6Is_aI">v0.3</a></li>
|
<li>Laradock <a href="https://www.youtube.com/watch?v=jGkyO6Is_aI">v0.3</a></li>
|
||||||
<li>Laradock <a href="https://www.youtube.com/watch?v=3YQsHe6oF80">v0.1</a></li>
|
<li>Laradock <a href="https://www.youtube.com/watch?v=3YQsHe6oF80">v0.1</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p><a name="features"></a></p>
|
|
||||||
|
|
||||||
<h2 id="features">Features</h2>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>Easy switch between PHP versions: 7.0, 5.6, 5.5…</li>
|
|
||||||
<li>Choose your favorite database engine: MySQL, Postgres, MariaDB…</li>
|
|
||||||
<li>Run your own combination of software: Memcached, HHVM, Beanstalkd…</li>
|
|
||||||
<li>Every software runs on a separate container: PHP-FPM, NGINX, PHP-CLI…</li>
|
|
||||||
<li>Easy to customize any container, with simple edit to the <code>Dockerfile</code>.</li>
|
|
||||||
<li>All Images extends from an official base Image. (Trusted base Images).</li>
|
|
||||||
<li>Pre-configured NGINX for Laravel.</li>
|
|
||||||
<li>Easy to apply configurations inside containers.</li>
|
|
||||||
<li>Clean and well structured Dockerfiles (<code>Dockerfile</code>).</li>
|
|
||||||
<li>Latest version of the Docker Compose file (<code>docker-compose</code>).</li>
|
|
||||||
<li>Everything is visible and editable.</li>
|
|
||||||
<li>Fast Images Builds.</li>
|
|
||||||
<li>More to come every week..</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<p><a name="Supported-Containers"></a></p>
|
|
||||||
|
|
||||||
<h2 id="supported-software-containers">Supported Software (Containers)</h2>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li><strong>Database Engines:</strong>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>MySQL</li>
|
|
||||||
<li>MariaDB</li>
|
|
||||||
<li>MongoDB</li>
|
|
||||||
<li>Neo4j</li>
|
|
||||||
<li>RethinkDB</li>
|
|
||||||
<li>PostgreSQL</li>
|
|
||||||
<li>Postgres Postgis</li>
|
|
||||||
</ul></li>
|
|
||||||
<li><strong>Cache Engines:</strong>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>Redis</li>
|
|
||||||
<li>Memcached</li>
|
|
||||||
<li>Aerospike</li>
|
|
||||||
</ul></li>
|
|
||||||
<li><strong>PHP Servers:</strong>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>NGINX</li>
|
|
||||||
<li>Apache2</li>
|
|
||||||
<li>Caddy</li>
|
|
||||||
</ul></li>
|
|
||||||
<li><strong>PHP Compilers:</strong>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>PHP-FPM</li>
|
|
||||||
<li>HHVM</li>
|
|
||||||
</ul></li>
|
|
||||||
<li><strong>Message Queuing Systems:</strong>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>Beanstalkd</li>
|
|
||||||
<li>Beanstalkd Console</li>
|
|
||||||
<li>RabbitMQ</li>
|
|
||||||
<li>RabbitMQ Console</li>
|
|
||||||
</ul></li>
|
|
||||||
<li><strong>Tools:</strong>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>PhpMyAdmin</li>
|
|
||||||
<li>Adminer</li>
|
|
||||||
<li>PgAdmin</li>
|
|
||||||
<li>ElasticSearch</li>
|
|
||||||
<li>Selenium</li>
|
|
||||||
<li>Certbot</li>
|
|
||||||
<li>Mailhog</li>
|
|
||||||
<li>Minio</li>
|
|
||||||
<li>Workspace
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>PHP7-CLI</li>
|
|
||||||
<li>Composer</li>
|
|
||||||
<li>Git</li>
|
|
||||||
<li>Linuxbrew</li>
|
|
||||||
<li>Node</li>
|
|
||||||
<li>Gulp</li>
|
|
||||||
<li>SQLite</li>
|
|
||||||
<li>xDebug</li>
|
|
||||||
<li>Envoy</li>
|
|
||||||
<li>Deployer</li>
|
|
||||||
<li>Vim</li>
|
|
||||||
<li>Yarn</li>
|
|
||||||
<li>… Many other supported tools are not documented. (Will be updated soon)</li>
|
|
||||||
</ul></li>
|
|
||||||
</ul></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<blockquote>
|
|
||||||
<p>If you can’t find your Software, build it yourself and add it to this list. Contributions are welcomed :)</p>
|
|
||||||
</blockquote>
|
|
||||||
|
|
||||||
<p><a name="Chat"></a></p>
|
<p><a name="Chat"></a></p>
|
||||||
|
|
||||||
<h2 id="chat-with-us">Chat with us</h2>
|
<h2 id="chat-with-us">Chat with us</h2>
|
||||||
|
@ -16,15 +16,17 @@
|
|||||||
<guid>http://laradock.io/introduction/</guid>
|
<guid>http://laradock.io/introduction/</guid>
|
||||||
<description>
|
<description>
|
||||||
|
|
||||||
<p>Laradock strives to make the PHP development experience easier and faster.</p>
|
<p>A full PHP development environment for Docker.</p>
|
||||||
|
|
||||||
<p>It contains pre-packaged Docker Images that provides you a wonderful <em>development</em> environment without requiring you to install PHP, NGINX, MySQL, Redis, and any other software on your machines.</p>
|
<p>Includes pre-packaged Docker Images, all pre-configured to provide a wonderful PHP development environment.</p>
|
||||||
|
|
||||||
<p>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&hellip;).</p>
|
<p>Laradock is well known in the Laravel community, as the project started with single focus on running Laravel projects on Docker. Later and due to the large adoption from the PHP community, it started supporting other PHP projects like Symfony, CodeIgniter, WordPress, Drupal&hellip;</p>
|
||||||
|
|
||||||
|
<p><img src="https://s19.postimg.org/jblfytw9f/laradock-logo.jpg" alt="" /></p>
|
||||||
|
|
||||||
<h2 id="quick-overview">Quick Overview</h2>
|
<h2 id="quick-overview">Quick Overview</h2>
|
||||||
|
|
||||||
<p>Let&rsquo;s see how easy it is to install <code>NGINX</code>, <code>PHP</code>, <code>Composer</code>, <code>MySQL</code>, <code>Redis</code> and <code>beanstalkd</code>:</p>
|
<p>Let&rsquo;s see how easy it is to install <code>NGINX</code>, <code>PHP</code>, <code>Composer</code>, <code>MySQL</code>, <code>Redis</code> and <code>Beanstalkd</code>:</p>
|
||||||
|
|
||||||
<p>1 - Clone Laradock inside your PHP project:</p>
|
<p>1 - Clone Laradock inside your PHP project:</p>
|
||||||
|
|
||||||
@ -41,18 +43,75 @@
|
|||||||
<pre><code class="language-shell">docker-compose up -d nginx mysql redis beanstalkd
|
<pre><code class="language-shell">docker-compose up -d nginx mysql redis beanstalkd
|
||||||
</code></pre>
|
</code></pre>
|
||||||
|
|
||||||
<p>3 - Open your project&rsquo;s <code>.env</code> file and set the following:</p>
|
<p>4 - Open your project&rsquo;s <code>.env</code> file and set the following:</p>
|
||||||
|
|
||||||
<pre><code class="language-shell">DB_HOST=mysql
|
<pre><code class="language-shell">DB_HOST=mysql
|
||||||
REDIS_HOST=redis
|
REDIS_HOST=redis
|
||||||
QUEUE_HOST=beanstalkd
|
QUEUE_HOST=beanstalkd
|
||||||
</code></pre>
|
</code></pre>
|
||||||
|
|
||||||
<p>4 - Open your browser and visit localhost: <code>http://localhost</code>.</p>
|
<p>5 - Open your browser and visit localhost: <code>http://localhost</code>.</p>
|
||||||
|
|
||||||
<pre><code class="language-shell">That's it! enjoy :)
|
<pre><code class="language-shell">That's it! enjoy :)
|
||||||
</code></pre>
|
</code></pre>
|
||||||
|
|
||||||
|
<p><a name="features"></a></p>
|
||||||
|
|
||||||
|
<h2 id="features">Features</h2>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Easy switch between PHP versions: 7.1, 7.0, 5.6&hellip;</li>
|
||||||
|
<li>Choose your favorite database engine: MySQL, Postgres, MariaDB&hellip;</li>
|
||||||
|
<li>Run your own combination of software: Memcached, HHVM, Beanstalkd&hellip;</li>
|
||||||
|
<li>Every software runs on a separate container: PHP-FPM, NGINX, PHP-CLI&hellip;</li>
|
||||||
|
<li>Easy to customize any container, with simple edit to the <code>Dockerfile</code>.</li>
|
||||||
|
<li>All Images extends from an official base Image. (Trusted base Images).</li>
|
||||||
|
<li>Pre-configured NGINX to host any code at your root directory.</li>
|
||||||
|
<li>Can use Laradock per project, or single Laradock for all projects.</li>
|
||||||
|
<li>Easy to install/remove software&rsquo;s in Containers using environment variables.</li>
|
||||||
|
<li>Clean and well structured Dockerfiles (<code>Dockerfile</code>).</li>
|
||||||
|
<li>Latest version of the Docker Compose file (<code>docker-compose</code>).</li>
|
||||||
|
<li>Everything is visible and editable.</li>
|
||||||
|
<li>Fast Images Builds.</li>
|
||||||
|
<li>More to come every week..</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p><a name="Supported-Containers"></a></p>
|
||||||
|
|
||||||
|
<h2 id="supported-software-images">Supported Software (Images)</h2>
|
||||||
|
|
||||||
|
<p>In adhering to the separation of concerns principle as promoted by Docker, Laradock runs each software on its own Container.
|
||||||
|
You can turn On/Off as many instances of as any container without worrying about the configurations, everything works like a charm.</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><strong>Database Engines:</strong>
|
||||||
|
MySQL - MariaDB - MongoDB - Neo4j - RethinkDB - MSSQL - PostgreSQL - Postgres Postgis.</li>
|
||||||
|
<li><strong>Cache Engines:</strong>
|
||||||
|
Redis - Memcached - Aerospike</li>
|
||||||
|
<li><strong>PHP Servers:</strong>
|
||||||
|
NGINX - Apache2 - Caddy</li>
|
||||||
|
<li><strong>PHP Compilers:</strong>
|
||||||
|
PHP FPM - HHVM</li>
|
||||||
|
<li><strong>Message Queuing:</strong>
|
||||||
|
Beanstalkd - Beanstalkd Console - RabbitMQ - RabbitMQ Console - PHP Worker</li>
|
||||||
|
<li><strong>Tools:</strong>
|
||||||
|
HAProxy - Jenkins - ElasticSearch - Selenium - Certbot - Mailhog - Minio - Varnish - PhpMyAdmin - Adminer - PgAdmin - MailHog&hellip;</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>Laradock introduces the <strong>Workspace</strong> Image, as a development environment.
|
||||||
|
It contains a rich set of helpful tools, all pre-configured to work and integrate with almost any combination of Containers and tools you may choose.</p>
|
||||||
|
|
||||||
|
<p><strong>Workspace Image Tools</strong>
|
||||||
|
PHP CLI - Composer - Git - Linuxbrew - Node - V8JS - Gulp - SQLite - xDebug - Envoy - Deployer - Vim - Yarn - SOAP - Drush&hellip;</p>
|
||||||
|
|
||||||
|
<p>You can choose, which tools to install in your workspace container and other containers, from the <code>.env</code> file.</p>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<p>If you modify <code>docker-compose.yml</code>, <code>.env</code> or any <code>dockerfile</code> file, you must re-build your containers, to see those effects in the running instance.</p>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<p>If you can&rsquo;t find your Software in the list, build it yourself and sumit it. Contributions are welcomed :)</p>
|
||||||
|
|
||||||
<p><a name="what-is-docker"></a></p>
|
<p><a name="what-is-docker"></a></p>
|
||||||
|
|
||||||
<h2 id="what-is-docker">What is Docker?</h2>
|
<h2 id="what-is-docker">What is Docker?</h2>
|
||||||
@ -71,24 +130,6 @@ QUEUE_HOST=beanstalkd
|
|||||||
|
|
||||||
<p>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).</p>
|
<p>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).</p>
|
||||||
|
|
||||||
<p><a name="laradock-vs-homestead"></a></p>
|
|
||||||
|
|
||||||
<h2 id="laradock-vs-homestead-for-laravel-developers">Laradock VS Homestead (For Laravel Developers)</h2>
|
|
||||||
|
|
||||||
<blockquote>
|
|
||||||
<p>Laradock It&rsquo;s like Laravel Homestead but for Docker instead of Vagrant.</p>
|
|
||||||
</blockquote>
|
|
||||||
|
|
||||||
<p>Laradock and <a href="https://laravel.com/docs/master/homestead">Homestead</a> both give you complete virtual development environments. (Without the need to install and configure every single software on your own Operating System).</p>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li><p>Homestead is a tool that controls Vagrant for you (using Homestead special commands). And Vagrant manages your Virtual Machine.</p></li>
|
|
||||||
|
|
||||||
<li><p>Laradock is a tool that controls Docker for you (using Docker &amp; Docker Compose official commands). And Docker manages your Virtual Containers.</p></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<p>Running a virtual container is much faster than running a full virtual Machine. Thus <strong>Laradock is much faster than Homestead</strong>.</p>
|
|
||||||
|
|
||||||
<p><a name="Demo"></a></p>
|
<p><a name="Demo"></a></p>
|
||||||
|
|
||||||
<h2 id="demo-video">Demo Video</h2>
|
<h2 id="demo-video">Demo Video</h2>
|
||||||
@ -96,111 +137,13 @@ QUEUE_HOST=beanstalkd
|
|||||||
<p>What&rsquo;s better than a <strong>Demo Video</strong>:</p>
|
<p>What&rsquo;s better than a <strong>Demo Video</strong>:</p>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
|
<li>Laradock v5.* (soon or never)</li>
|
||||||
<li>Laradock <a href="https://www.youtube.com/watch?v=TQii1jDa96Y">v4.*</a></li>
|
<li>Laradock <a href="https://www.youtube.com/watch?v=TQii1jDa96Y">v4.*</a></li>
|
||||||
<li>Laradock <a href="https://www.youtube.com/watch?v=-DamFMczwDA">v2.*</a></li>
|
<li>Laradock <a href="https://www.youtube.com/watch?v=-DamFMczwDA">v2.*</a></li>
|
||||||
<li>Laradock <a href="https://www.youtube.com/watch?v=jGkyO6Is_aI">v0.3</a></li>
|
<li>Laradock <a href="https://www.youtube.com/watch?v=jGkyO6Is_aI">v0.3</a></li>
|
||||||
<li>Laradock <a href="https://www.youtube.com/watch?v=3YQsHe6oF80">v0.1</a></li>
|
<li>Laradock <a href="https://www.youtube.com/watch?v=3YQsHe6oF80">v0.1</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p><a name="features"></a></p>
|
|
||||||
|
|
||||||
<h2 id="features">Features</h2>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>Easy switch between PHP versions: 7.0, 5.6, 5.5&hellip;</li>
|
|
||||||
<li>Choose your favorite database engine: MySQL, Postgres, MariaDB&hellip;</li>
|
|
||||||
<li>Run your own combination of software: Memcached, HHVM, Beanstalkd&hellip;</li>
|
|
||||||
<li>Every software runs on a separate container: PHP-FPM, NGINX, PHP-CLI&hellip;</li>
|
|
||||||
<li>Easy to customize any container, with simple edit to the <code>Dockerfile</code>.</li>
|
|
||||||
<li>All Images extends from an official base Image. (Trusted base Images).</li>
|
|
||||||
<li>Pre-configured NGINX for Laravel.</li>
|
|
||||||
<li>Easy to apply configurations inside containers.</li>
|
|
||||||
<li>Clean and well structured Dockerfiles (<code>Dockerfile</code>).</li>
|
|
||||||
<li>Latest version of the Docker Compose file (<code>docker-compose</code>).</li>
|
|
||||||
<li>Everything is visible and editable.</li>
|
|
||||||
<li>Fast Images Builds.</li>
|
|
||||||
<li>More to come every week..</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<p><a name="Supported-Containers"></a></p>
|
|
||||||
|
|
||||||
<h2 id="supported-software-containers">Supported Software (Containers)</h2>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li><strong>Database Engines:</strong>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>MySQL</li>
|
|
||||||
<li>MariaDB</li>
|
|
||||||
<li>MongoDB</li>
|
|
||||||
<li>Neo4j</li>
|
|
||||||
<li>RethinkDB</li>
|
|
||||||
<li>PostgreSQL</li>
|
|
||||||
<li>Postgres Postgis</li>
|
|
||||||
</ul></li>
|
|
||||||
<li><strong>Cache Engines:</strong>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>Redis</li>
|
|
||||||
<li>Memcached</li>
|
|
||||||
<li>Aerospike</li>
|
|
||||||
</ul></li>
|
|
||||||
<li><strong>PHP Servers:</strong>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>NGINX</li>
|
|
||||||
<li>Apache2</li>
|
|
||||||
<li>Caddy</li>
|
|
||||||
</ul></li>
|
|
||||||
<li><strong>PHP Compilers:</strong>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>PHP-FPM</li>
|
|
||||||
<li>HHVM</li>
|
|
||||||
</ul></li>
|
|
||||||
<li><strong>Message Queuing Systems:</strong>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>Beanstalkd</li>
|
|
||||||
<li>Beanstalkd Console</li>
|
|
||||||
<li>RabbitMQ</li>
|
|
||||||
<li>RabbitMQ Console</li>
|
|
||||||
</ul></li>
|
|
||||||
<li><strong>Tools:</strong>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>PhpMyAdmin</li>
|
|
||||||
<li>Adminer</li>
|
|
||||||
<li>PgAdmin</li>
|
|
||||||
<li>ElasticSearch</li>
|
|
||||||
<li>Selenium</li>
|
|
||||||
<li>Certbot</li>
|
|
||||||
<li>Mailhog</li>
|
|
||||||
<li>Minio</li>
|
|
||||||
<li>Workspace
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>PHP7-CLI</li>
|
|
||||||
<li>Composer</li>
|
|
||||||
<li>Git</li>
|
|
||||||
<li>Linuxbrew</li>
|
|
||||||
<li>Node</li>
|
|
||||||
<li>Gulp</li>
|
|
||||||
<li>SQLite</li>
|
|
||||||
<li>xDebug</li>
|
|
||||||
<li>Envoy</li>
|
|
||||||
<li>Deployer</li>
|
|
||||||
<li>Vim</li>
|
|
||||||
<li>Yarn</li>
|
|
||||||
<li>&hellip; Many other supported tools are not documented. (Will be updated soon)</li>
|
|
||||||
</ul></li>
|
|
||||||
</ul></li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<blockquote>
|
|
||||||
<p>If you can&rsquo;t find your Software, build it yourself and add it to this list. Contributions are welcomed :)</p>
|
|
||||||
</blockquote>
|
|
||||||
|
|
||||||
<p><a name="Chat"></a></p>
|
<p><a name="Chat"></a></p>
|
||||||
|
|
||||||
<h2 id="chat-with-us">Chat with us</h2>
|
<h2 id="chat-with-us">Chat with us</h2>
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
<meta name="generator" content="Hugo 0.19" />
|
<meta name="generator" content="Hugo 0.19" />
|
||||||
|
|
||||||
|
|
||||||
<meta name="description" content="Laradock documentations.">
|
<meta name="description" content="Full PHP development environment for Docker.">
|
||||||
|
|
||||||
<link rel="canonical" href="http://laradock.io/license/">
|
<link rel="canonical" href="http://laradock.io/license/">
|
||||||
|
|
||||||
@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
<meta property="og:url" content="http://laradock.io/license/">
|
<meta property="og:url" content="http://laradock.io/license/">
|
||||||
<meta property="og:title" content="Laradock">
|
<meta property="og:title" content="Laradock">
|
||||||
|
<meta property="og:image" content="http://laradock.io/images/logo.png">
|
||||||
<meta name="apple-mobile-web-app-title" content="Laradock">
|
<meta name="apple-mobile-web-app-title" content="Laradock">
|
||||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
||||||
@ -129,15 +129,19 @@
|
|||||||
<main class="main">
|
<main class="main">
|
||||||
<div class="drawer">
|
<div class="drawer">
|
||||||
<nav aria-label="Navigation">
|
<nav aria-label="Navigation">
|
||||||
|
<a href="http://laradock.io/" class="project">
|
||||||
|
<div class="banner">
|
||||||
|
|
||||||
|
<div class="logo">
|
||||||
|
<img src="http://laradock.io/images/logo.png">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
|
||||||
<div class="scrollable">
|
<div class="scrollable">
|
||||||
<div class="wrapper">
|
<div class="wrapper">
|
||||||
@ -211,9 +215,9 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a title="Related Projects" href="http://laradock.io/related-projects/">
|
<a title="Giudes" href="http://laradock.io/guides/">
|
||||||
|
|
||||||
Related Projects
|
Giudes
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
@ -247,6 +251,24 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a title="Related Projects" href="http://laradock.io/related-projects/">
|
||||||
|
|
||||||
|
Related Projects
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a title="Contributing" href="http://laradock.io/contributing/">
|
<a title="Contributing" href="http://laradock.io/contributing/">
|
||||||
|
|
||||||
Contributing
|
Contributing
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
<meta name="generator" content="Hugo 0.19" />
|
<meta name="generator" content="Hugo 0.19" />
|
||||||
|
|
||||||
|
|
||||||
<meta name="description" content="Laradock documentations.">
|
<meta name="description" content="Full PHP development environment for Docker.">
|
||||||
|
|
||||||
<link rel="canonical" href="http://laradock.io/related-projects/">
|
<link rel="canonical" href="http://laradock.io/related-projects/">
|
||||||
|
|
||||||
@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
<meta property="og:url" content="http://laradock.io/related-projects/">
|
<meta property="og:url" content="http://laradock.io/related-projects/">
|
||||||
<meta property="og:title" content="Laradock">
|
<meta property="og:title" content="Laradock">
|
||||||
|
<meta property="og:image" content="http://laradock.io/images/logo.png">
|
||||||
<meta name="apple-mobile-web-app-title" content="Laradock">
|
<meta name="apple-mobile-web-app-title" content="Laradock">
|
||||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
||||||
@ -129,15 +129,19 @@
|
|||||||
<main class="main">
|
<main class="main">
|
||||||
<div class="drawer">
|
<div class="drawer">
|
||||||
<nav aria-label="Navigation">
|
<nav aria-label="Navigation">
|
||||||
|
<a href="http://laradock.io/" class="project">
|
||||||
|
<div class="banner">
|
||||||
|
|
||||||
|
<div class="logo">
|
||||||
|
<img src="http://laradock.io/images/logo.png">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
|
||||||
<div class="scrollable">
|
<div class="scrollable">
|
||||||
<div class="wrapper">
|
<div class="wrapper">
|
||||||
@ -211,15 +215,12 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a class="current" title="Related Projects" href="http://laradock.io/related-projects/">
|
<a title="Giudes" href="http://laradock.io/guides/">
|
||||||
|
|
||||||
Related Projects
|
Giudes
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
<ul id="scrollspy">
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
@ -250,6 +251,27 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a class="current" title="Related Projects" href="http://laradock.io/related-projects/">
|
||||||
|
|
||||||
|
Related Projects
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
<ul id="scrollspy">
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a title="Contributing" href="http://laradock.io/contributing/">
|
<a title="Contributing" href="http://laradock.io/contributing/">
|
||||||
|
|
||||||
Contributing
|
Contributing
|
||||||
@ -341,7 +363,7 @@ These Docker Compose projects have piqued our interest:</li>
|
|||||||
<nav class="pagination" aria-label="Footer">
|
<nav class="pagination" aria-label="Footer">
|
||||||
<div class="previous">
|
<div class="previous">
|
||||||
|
|
||||||
<a href="http://laradock.io/documentation/" title="Documentation">
|
<a href="http://laradock.io/help/" title="Help & Questions">
|
||||||
<span class="direction">
|
<span class="direction">
|
||||||
Previous
|
Previous
|
||||||
</span>
|
</span>
|
||||||
@ -351,7 +373,7 @@ These Docker Compose projects have piqued our interest:</li>
|
|||||||
</div>
|
</div>
|
||||||
<div class="stretch">
|
<div class="stretch">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
Documentation
|
Help & Questions
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -361,14 +383,14 @@ These Docker Compose projects have piqued our interest:</li>
|
|||||||
|
|
||||||
<div class="next">
|
<div class="next">
|
||||||
|
|
||||||
<a href="http://laradock.io/help/" title="Help & Questions">
|
<a href="http://laradock.io/contributing/" title="Contributing">
|
||||||
<span class="direction">
|
<span class="direction">
|
||||||
Next
|
Next
|
||||||
</span>
|
</span>
|
||||||
<div class="page">
|
<div class="page">
|
||||||
<div class="stretch">
|
<div class="stretch">
|
||||||
<div class="title">
|
<div class="title">
|
||||||
Help & Questions
|
Contributing
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="button button-next" role="button" aria-label="Next">
|
<div class="button button-next" role="button" aria-label="Next">
|
||||||
|
@ -14,13 +14,17 @@
|
|||||||
</url>
|
</url>
|
||||||
|
|
||||||
<url>
|
<url>
|
||||||
<loc>http://laradock.io/related-projects/</loc>
|
<loc>http://laradock.io/guides/</loc>
|
||||||
</url>
|
</url>
|
||||||
|
|
||||||
<url>
|
<url>
|
||||||
<loc>http://laradock.io/help/</loc>
|
<loc>http://laradock.io/help/</loc>
|
||||||
</url>
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>http://laradock.io/related-projects/</loc>
|
||||||
|
</url>
|
||||||
|
|
||||||
<url>
|
<url>
|
||||||
<loc>http://laradock.io/contributing/</loc>
|
<loc>http://laradock.io/contributing/</loc>
|
||||||
</url>
|
</url>
|
||||||
@ -44,6 +48,11 @@
|
|||||||
<priority>0</priority>
|
<priority>0</priority>
|
||||||
</url>
|
</url>
|
||||||
|
|
||||||
|
<url>
|
||||||
|
<loc>http://laradock.io/guides/</loc>
|
||||||
|
<priority>0</priority>
|
||||||
|
</url>
|
||||||
|
|
||||||
<url>
|
<url>
|
||||||
<loc>http://laradock.io/help/</loc>
|
<loc>http://laradock.io/help/</loc>
|
||||||
<priority>0</priority>
|
<priority>0</priority>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
* theme that is used as fallback in codeblocks
|
* theme that is used as fallback in codeblocks
|
||||||
*/
|
*/
|
||||||
.article pre code {
|
.article pre code {
|
||||||
color: rgba(0, 0, 0, 0.8) !important;
|
color: rgba(0, 0, 0, 0.78) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -103,3 +103,14 @@ font-style:italic;
|
|||||||
.hljs-strong {
|
.hljs-strong {
|
||||||
font-weight:700;
|
font-weight:700;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
OVERRIDING THE DEFAULT STYLES - By Mahmoud Zalt (mahmoud@zalt.me) for Laradock.io
|
||||||
|
*/
|
||||||
|
|
||||||
|
.project .logo img{
|
||||||
|
width: 140px;
|
||||||
|
height: 140px;
|
||||||
|
background: transparent;
|
||||||
|
border-radius: 0%;
|
||||||
|
}
|
||||||
|
33
env-example
@ -1,14 +1,16 @@
|
|||||||
### Application
|
### Paths
|
||||||
# Point to your application code, wish should be available at `/var/www`
|
# Application: Point to your application code, will be available at `/var/www`.
|
||||||
APPLICATION=../
|
APPLICATION=../
|
||||||
|
|
||||||
### PHP version (Does not apply for HHVM)
|
# Data: For all storage systems
|
||||||
# PHP_VERSION=56
|
DATA_SAVE_PATH=../data
|
||||||
|
|
||||||
|
### PHP version (Does not apply to HHVM)
|
||||||
|
# Accepted values: 71 - 70 - 56.
|
||||||
PHP_VERSION=70
|
PHP_VERSION=70
|
||||||
# PHP_VERSION=71
|
|
||||||
|
|
||||||
### PHP interpreter
|
### PHP interpreter
|
||||||
# PHP_INTERPRETER=hhvm
|
# Accepted values: hhvm - php-fpm
|
||||||
PHP_INTERPRETER=php-fpm
|
PHP_INTERPRETER=php-fpm
|
||||||
|
|
||||||
### WORKSPACE Container
|
### WORKSPACE Container
|
||||||
@ -26,7 +28,6 @@ WORKSPACE_INSTALL_LARAVEL_ENVOY=false
|
|||||||
WORKSPACE_INSTALL_DEPLOYER=false
|
WORKSPACE_INSTALL_DEPLOYER=false
|
||||||
WORKSPACE_INSTALL_LINUXBREW=false
|
WORKSPACE_INSTALL_LINUXBREW=false
|
||||||
WORKSPACE_INSTALL_MC=false
|
WORKSPACE_INSTALL_MC=false
|
||||||
WORKSPACE_INSTALL_SYMFONY=false
|
|
||||||
WORKSPACE_PUID=1000
|
WORKSPACE_PUID=1000
|
||||||
WORKSPACE_PGID=1000
|
WORKSPACE_PGID=1000
|
||||||
WORKSPACE_NODE_VERSION=stable
|
WORKSPACE_NODE_VERSION=stable
|
||||||
@ -70,6 +71,13 @@ MYSQL_PASSWORD=secret
|
|||||||
MYSQL_PORT=3306
|
MYSQL_PORT=3306
|
||||||
MYSQL_ROOT_PASSWORD=root
|
MYSQL_ROOT_PASSWORD=root
|
||||||
|
|
||||||
|
### Percona Container
|
||||||
|
PERCONA_DATABASE=homestead
|
||||||
|
PERCONA_USER=homestead
|
||||||
|
PERCONA_PASSWORD=secret
|
||||||
|
PERCONA_PORT=3306
|
||||||
|
PERCONA_ROOT_PASSWORD=root
|
||||||
|
|
||||||
### MSSQL Container
|
### MSSQL Container
|
||||||
MSSQL_DATABASE=homestead
|
MSSQL_DATABASE=homestead
|
||||||
MSSQL_PASSWORD=yourStrong(!)Password
|
MSSQL_PASSWORD=yourStrong(!)Password
|
||||||
@ -116,6 +124,9 @@ SELENIUM_PORT=4444
|
|||||||
### MINIO Container
|
### MINIO Container
|
||||||
MINIO_PORT=9000
|
MINIO_PORT=9000
|
||||||
|
|
||||||
|
### ADMINER Container
|
||||||
|
ADM_PORT=88
|
||||||
|
|
||||||
### PHP MY ADMIN Container
|
### PHP MY ADMIN Container
|
||||||
# PMA_DB_ENGINE=mariadb
|
# PMA_DB_ENGINE=mariadb
|
||||||
PMA_DB_ENGINE=mysql
|
PMA_DB_ENGINE=mysql
|
||||||
@ -124,9 +135,6 @@ PMA_PASSWORD=secret
|
|||||||
PMA_ROOT_PASSWORD=secret
|
PMA_ROOT_PASSWORD=secret
|
||||||
PMA_PORT=88
|
PMA_PORT=88
|
||||||
|
|
||||||
### ADMINER Container
|
|
||||||
ADM_PORT=88
|
|
||||||
|
|
||||||
### VARNISH Container
|
### VARNISH Container
|
||||||
VARNISH_CONFIG=/etc/varnish/default.vcl
|
VARNISH_CONFIG=/etc/varnish/default.vcl
|
||||||
VARNISH_PORT=8080
|
VARNISH_PORT=8080
|
||||||
@ -146,6 +154,11 @@ VARNISH_PROXY2_SERVER=SERVER2
|
|||||||
### HAPROXY Container
|
### HAPROXY Container
|
||||||
HAPROXY_HOST_HTTP_PORT=8085
|
HAPROXY_HOST_HTTP_PORT=8085
|
||||||
|
|
||||||
|
### JENKINS Container
|
||||||
|
JENKINS_HOST_HTTP_PORT=8090
|
||||||
|
JENKINS_HOST_SLAVE_AGENT_PORT=50000
|
||||||
|
JENKINS_HOME=./jenkins/jenkins_home
|
||||||
|
|
||||||
### MISC
|
### MISC
|
||||||
# Replace with your Docker Host IP (will be appended to /etc/hosts)
|
# Replace with your Docker Host IP (will be appended to /etc/hosts)
|
||||||
DOCKER_HOST_IP=10.0.75.1
|
DOCKER_HOST_IP=10.0.75.1
|
||||||
|