Laradock環境構築
Mac OS X Catalina 10.15.4
初めて頑張ってLaradockで環境構築していきたいと思います。
おかしなところがありましたらぜひ指摘してください。
Laradockをクローン
まずは専用のディレクトリ作成して移動します。
$ mkdir laratest
$ cd laratest
そこでgit clone。
$ git clone https://github.com/LaraDock/laradock.git
LaraDockの.envファイル作成
そしたらlaradock
というファルが作成されているはずなので、そこに移動します。
$ cd laradock
その中にあるenv-example
ファイルを.env
としてコピーします。
$ cp env-example .env
laraDockファイルの中はいろんなソフトがめっちゃ入ってます。
nginx, mysql, php, laravelだけなら特に.env
操作の必要はなさそう。
Laradockの環境編集
Laradock内の.env
ファイルを編集します。
ただ公式ページ様では次のように.env
ファイル内に追加する記載があります。
DB_HOST=mysql
REDIS_HOST=redis
QUEUE_HOST=beanstalkd
これ以外にも少し必要。
1、APP_CODE_PATH_HOST
[ ../ ] → [ ../laraapp ]に変更。プロジェクト名に変更ってことですね。
2、DATA_PATH_HOST
[ ~/.laradock/data ] → [ .laradock/data ] に変更。
3、MYSQL
[ latest ] → [ 5.7 ]に変更。8.0系に比べて5.7系が安定しているみたいです。
MYSQL_DATABAE
MYSQL_USER
MYSQL_PASSWORD
とかはなんでも良さそうだけど、他の設定と揃える必要がある。
忘れないようにしないと。
とりあえずLaraDock内の.envファイルの設定と他を揃えます。
Laradock起動
Laradockを立ち上げて確認してみます。
コンテナ起動がup
で、オプションで-d
を付けるとバックグラウンドで動いてくれます。
とりあえずならnginxとmysqlを動かせばいいかと。
$ docker-compose up -d nginx mysql
...
Creating laradock_mysql_1 ... done
Creating laradock_docker-in-docker_1 ... done
Creating laradock_workspace_1 ... done
Creating laradock_php-fpm_1 ... done
Creating laradock_nginx_1 ... done
初回の起動のときはかなりpullしてくるので結構時間かかります。
完了したら上のような表示が出るはず。
起動してるか確認してみます。
この中にlaradock_workspace_1
コンテナが立ち上がってるのが確認できます。
このコンテナの中に移動します。
$ docker exec -it laradock_workspace_1 bash
root@74e5ba95e1d4:/var/www#
プロジェクト作成
移動できたら、まずはアップデートしときます。
root@74e5ba95e1d4:/var/www# apt-get update
終わったら、Laravelプロジェクトを作成します。下の例ではlaraapp
という名前で作ります。
root@74e5ba95e1d4:/var/www# composer create-project "laravel/laravel=6.0.*" laraapp
現状(2020/4/27)では6.0系がLTSでサポート長いので、これを選択しておきます。
https://readouble.com/laravel/7.x/ja/releases.html
作成が完了したら、ファイルが存在しているのを確認して、一旦コンテナをでます。
root@74e5ba95e1d4:/var/www# exit
$ docker-compose stop
Laravelプロジェクト内の環境
プロジェクト内に移動して、.env
ファイルを調整します。
さっきのやつと揃える。
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=default
DB_USERNAME=default
DB_PASSWORD=secret
パーミッション設定
webサーバーからの書き込み権限を与えるためにパーミッション設定します。
再度コンテナに入り、プロジェクトフォルダに移動します。
root@74e5ba95e1d4:/var/www/laraapp# chmod 766 storage
root@74e5ba95e1d4:/var/www/laraapp# chmod 766 bootstrap/cache
コンテナ再起動
docker-compose restart
マウント確認
laradock_nginx_1
とlaradock_workspace_1
をdocker inspectして、マウント確認
$ docker inspect laradock_nginx_1
...
"Mounts": [
...
{
"Type": "bind",
"Source": "/Users/ユーザー/hoge/laratest/laraapp",
"Destination": "/var/www/",
"Mode": "cached",
"RW": true,
"Propagation": "rprivate"
},
...
$docker inspect laradock_workspace_1
...
"Mounts": [
...
{
"Type": "bind",
"Source": "/Users/ユーザー/hoge/laratest/laraapp",
"Destination": "/var/www/",
"Mode": "cached",
"RW": true,
"Propagation": "rprivate"
},
...
はい、なんかおかしいですね。
nginx
laradockに移動して、ファイルを編集します。エディタはvimじゃなくてもいいです。
$ 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/public; //ここがこうなってるはずなので、
index index.php index.html index.htm;
server_name localhost;
root /var/www/laraapp/public; //こうする プロジェクト名いれる
index index.php index.html index.htm;
nginxのドキュメントルートを変更するとのこと。
やっと接続できました...
長かったですが、ありがとうございました。
参考記事
こちらの記事等をめちゃくちゃ参考にさせていただきました。
ありがとうございました。
LaradockでDockerによる開発環境を手軽に構築
Laradockを使ったLaravel開発環境構築
Laravel6 Laradockを使ってDocker環境構築を初めからやってみる
Author And Source
この問題について(Laradock環境構築), 我々は、より多くの情報をここで見つけました https://qiita.com/ama_keshi/items/9d3dc29af2d8bbbf4189著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .