Edited at

DockerでLaravel開発がしたい!Laradock?そんなことよりBitnamiだ!~Laravel3分クッキング~


Laravelってなんだよ

って人はこの記事みないと思うので割愛しますが、気になる人は勝手に調べてください


前置き長いので気になる人はここまで飛ばしてください

つい先日からLaravel開発する機会があったのですが、環境を汚さないようにとDockerでコンテナ立ち上げて、その中でゴニョゴニョやっていこうかなと思ってみていたらLaradockというものにたどり着きました。

ふーん、便利じゃん

早速ドキュメントに従ってやってみました。

gitクローンして!envファイルコピーして!docker立ち上げて!envファイル書き換えて!Let's Enjoy ! :) localhostにつないでね!







404・・・? enjoyできないんだが!!!!


なぜLaradockでエンジョイ出来なかったのか

色々試しましたがどうも上手く行きません。

php artisan serve・・・ダメでした👎

nginxやapacheなど色々なサーバで試す・・もダメ

バーチャルホストの設定書き換えてみる・・・・・・・・ダメ

この辺りで疲れてきたことと、時間がかかってしまうのでとても不本意でしたが諦めて自身でApacheコンテナとmysqlコンテナを立ち上げ、composerをダウンロードし、laravelをインストールして・・とすることにしました。


bitnami/laravelとの出会い

自身でイチからサーバコンテナとsqlコンテナを立ち上げlaravelを入れて開発を開始し始めた辺りで、

「LaravelをDockerで使うなら便利なものがあるんだよ?」

と神の声が降ってきました。どうせLaradockだろう、と思いながら話を聞いてみましたが、どうやらbitnamiがイメージを提供しているらしい・・・

  

  

 

あった。wordpressを使った開発作業してる時にお世話になったが・・Laravelでもお世話になるとは。

というか、超便利じゃん・・・

なんだよLaradockって!!いや確かに、もし使えたならLaradockも便利でしょう。検索してもそっちの方が多くヒットするからドキュメントも豊富だし。

でもbitnami/laravelの方が早いし楽じゃん!!!

Laradockは15分で環境が構築出来ますがbitnami/laravelは2~3分で出来ます!!!!


bitnami/laravelの導入

とても簡単です。

専用のディレクトリ作って移動して

mkdir bitnami; cd $_

docker-composeファイルをgitからクローンして なんかgitからcloneとか説明しつつコマンドはcurlでした。当時何思って書いてたんでしょう?

curl -LO https://raw.githubusercontent.com/bitnami/bitnami-docker-laravel/master/docker-compose.yml

起動

docker-compose up -d

え・・?これだけ?はいこれだけです

envファイルのコピーと書き換えは?Laradockみたいに時間かからないの?はい、そんな作業必要ありません。

開発はどこで?作ったディレクトリ、上記例だとbitnamiディレクトリ内にLaravelアプリケーションが展開されています。

てかyml自体軽量で大した事書いてない。gitコマンドをインストールするかと考えてる人いたら書けと言いたいレベル。


docker-compose.yml

version: '2'

services:
mariadb:
image: 'bitnami/mariadb:latest'
environment:
- ALLOW_EMPTY_PASSWORD=yes
- MARIADB_USER=my_user
- MARIADB_DATABASE=my_database
- MARIADB_PASSWORD=my_password

myapp:
tty: true
image: 'bitnami/laravel:latest'
labels:
kompose.service.type: nodeport
environment:
- DB_HOST=mariadb
- DB_USERNAME=my_user
- DB_DATABASE=my_database
- DB_PASSWORD=my_password
depends_on:
- mariadb
ports:
- 3000:3000
volumes:
- ./:/app


 

 

 

ね?簡単でしょう?

え?localhostにつないでもエラーになる?ちゃんとポート設定はしましたか?初期状態だと3000ですよ

それでも繋がらない?初回起動時は多少時間がかかるので少し待ってみましょう

ね,簡単でしょう?