Laradock; docker üzerinde çalışan PHP geliştirme ortamı.

Öncelikle bilgisayarınıza Docker kurun.

Laradock'u bilgisayara klonlayın.

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

Klonladığınız klasörün içerisine girin.

$ cd laradock

env-example dosyasını .env dosyası şeklinde kopyalayın.

$ cp env-example .env

nginx, mysql, workspace konteynerlerini ayağa kaldırın. İlk defa oluşturduğunuz için uzun sürecektir. Dosyaları indirip konteynerı oluşturmak için.

$ docker-compose up -d nginx mysql workspace

Şimdi sırada hosts dosyasını ayarlamanız gerekiyor. Windows için; notepad'i yönetici olarak açıp sonra Dosya > Aç buradan C:\Windows\System32\drivers\etc içinde hosts dosyasını açıp içine aşağıdaki kayıtları ekleyin. MacOS için;

$ sudo vim /private/etc/hosts

Şifrenizi girip dosyayı açıp aşağıdaki kayıtları ekleyin. Linux için;

$ sudo vim /etc/hosts

Şifrenizi girip dosyayı açıp aşağıdaki kayıtları ekleyin.

127.0.0.1       localhost
127.0.0.1       mysql

http://localhost yazıp girebilirsiniz. Şimdi bir tane laravel projesi oluşturalım. Önce workspace içine girin.

$ docker-compose exec --user=laradock workspace bash

Daha sonra Laravel projesini oluşturun.

$ composer create-project --prefer-dist laravel/laravel blog

Daha sonra blog dizinin içerisine girip env içinde veritabanı bağlantınısını gerçekleştirip host kaydını oluşturun.

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=blog
DB_USERNAME=default
DB_PASSWORD=secret
127.0.0.1       blog.test

Konteyner içinden exit ile çıkın. Laradock projesi içerisinde bulunan mysql > docker-entrypoint-initdb.d klasörüne girip createdb.sql.example dosyasının ismini createdb.sql yapın. Bu dosyanın içine FLUSH yazan satırdan önce

CREATE DATABASE IF NOT EXISTS `blog` COLLATE 'utf8_general_ci' ;
GRANT ALL ON `blog`.* TO 'default'@'%' ;

yazıp kaydedin. Mysql konteyneri içine girin.

$ docker-compose exec mysql bash
$ mysql -u root -p < /docker-entrypoint-initdb.d/createdb.sql

Bu işlemleri gerçekleştirdikten sonra http://blog.test açabilirsiniz.