##前提
gitがインストールされている
dockerがインストールされている
##Laradockのインストール
~ $ mkdir App
~ $ cd App
~App $ git clone https://github.com/LaraDock/laradock.git
~App $ ls
laradock
~App $ cd laradock
.envファイルの作成と編集
~App/laradock $ cp env-example .env
.envファイルのMYSQL_VERSIONを変更
### MYSQL #################################################
MYSQL_VERSION=5.7 <= ここを変更
MYSQL_DATABASE=MyProject <= ここを変更
MYSQL_USER=default
MYSQL_PASSWORD=secret
MYSQL_PORT=3306
MYSQL_ROOT_PASSWORD=root
MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d
### REDIS #################################################
.envファイルに以下3行を追加
DB_HOST=mysql
REDIS_HOST=redis
QUEUE_HOST=beanstalkd
コンテナの起動
~App/laradock $ docker-compose up -d nginx mysql redis beanstalkd
~App/laradock $ docker-compose ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4b9e9bfbf370 laradock_mysql "docker-entrypoint.s…" 2 hours ago Up 2 hours 0.0.0.0:3306->3306/tcp, 33060/tcp laradock_mysql_1
17c5c04e58be laradock_beanstalkd "/usr/bin/beanstalkd" 4 hours ago Up 2 hours 0.0.0.0:11300->11300/tcp laradock_beanstalkd_1
3cd77fae82d4 laradock_nginx "/bin/bash /opt/star…" 4 hours ago Up 2 hours 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp laradock_nginx_1
eb01a20e059a laradock_php-fpm "docker-php-entrypoi…" 4 hours ago Up 2 hours 9000/tcp laradock_php-fpm_1
e1a21a50ad8a laradock_workspace "/sbin/my_init" 4 hours ago Up 2 hours 0.0.0.0:2222->22/tcp laradock_workspace_1
20ddc90f2473 laradock_redis "docker-entrypoint.s…" 4 hours ago Up 2 hours 0.0.0.0:6379->6379/tcp laradock_redis_1
0c81420f0e99 docker:dind "dockerd-entrypoint.…" 4 hours ago Up 2 hours 2375/tcp laradock_docker-in-docker_1
コンテナが立ち上がっている状態となります
###mysqlのコンテナが立ち上がってこない場合
~/.laradock/data/mysql
配下のファイルが壊れている可能性があり
このファイルとdockerコンテナ、dockerイメージを削除して再度設定
$ rm -rf ~/.laradock/data/mysql
$ docker rm laradock_mysql_1
$ docker rmi laradock_mysql
~App/laradock $ docker-compose build --no-cache
~App/laradock $ docker-compose up -d mysql
##Laravelプロジェクトの作成
コンテナへのアクセスと準備
$ docker exec -it laradock_workspace_1 bash
root@xxxxxxxxxxxx:/var/www# apt-get update
root@xxxxxxxxxxxx:/var/www# apt-get install vim
Laravelプロジェクトの作成
root@xxxxxxxxxxxx:/var/www# composer create-project laravel/laravel MyProject
root@xxxxxxxxxxxx:/var/www# ls
laradock MyProject
パーミッション設定
root@xxxxxxxxxxxx:/var/www# cd MyProject
root@xxxxxxxxxxxx:/var/www/MyProject# chmod 766 -R storage
root@xxxxxxxxxxxx:/var/www/MyProject# chmod 766 bootstrap/cache
Nginxのrootを変更
root@xxxxxxxxxxxx:/var/www/laradock# vim nginx/sites/default.conf
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
# For https
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server ipv6only=on;
# ssl_certificate /etc/nginx/ssl/default.crt;
# ssl_certificate_key /etc/nginx/ssl/default.key;
server_name localhost;
root /var/www/MyProject/public; <= ここを変更
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
プロジェクトのDB設定を変更
root@xxxxxxxxxxxx:/var/www/MyProject# vim .env
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=MyProject
DB_USERNAME=root
DB_PASSWORD=root
編集が完了したら保存しコンテナを再起動
~App/laradock $ docker-compose restart
localhost [http://localhost/] にアクセス
参考サイト
Laradockを使ったLaravel開発環境構築
LaradockでMySQLがどうしても立ち上がらない人あつまれー!
LaradockのプロジェクトコンテナとMySQLコンテナを接続する方法