こんにちは。どんぶラッコです。
以前、Laradockで環境構築する方法について記事にしました。
本日は、その発展として、Laradockを設定するときに変更をチェックするべき設定について記述していきます。
目次
.envファイルで設定を変更する箇所
私は大抵下記の項目を編集することが多いです。
- APP_CODE_PATH_HOST=../
+ APP_CODE_PATH_HOST=../app/
- COMPOSE_PROJECT_NAME=laradock
+ COMPOSE_PROJECT_NAME=hoge
- DATA_PATH_HOST=~/.laradock/data
+ DATA_PATH_HOST=~/.laradock-hoge/data
- PMA_PORT=8080
+ PMA_PORT=8888
- WORKSPACE_INSTALL_MYSQL_CLIENT=false
+ WORKSPACE_INSTALL_MYSQL_CLIENT=true
APP_CODE_PATH_HOST
laravelがマウントされるディレクトリ名です。いつもこのように、laradockに並列してapp
ディレクトリを作成しています。
$ tree -L 1
.
├── app
└── laradock
実は以前、私は、LaravelをインストールしてからAPP_CODE_PATH_HOSTを変更するよう記述していました。
公式サイトを見ると、作成するディレクトリを指定しないと動かないのかと思ってしまいますよね。
でも、実は↓のように書くと、今自分がいるディレクトリにインストールを実施することもできます。
composer create-project --prefer-dist laravel/laravel ./
だから、ディレクトリをあらかじめ作成してしまってもOKです。
COMPOSE_PROJECT_NAME
コンテナ名のprefixを変更することができます。laradockのママだと共通化してしまうので、例えばhoge
アプリケーションだけ、laradockで立ち上げたnginxの設定を変更したい!という時に使うと良いです。
DATA_PATH_HOST
これは一番最初ハマりました。Laravelのvolumes
試しに docker-compose.yml
の MySQLに関する設定部分をみてみましょう。
### MySQL ################################################
mysql:
# (中略)
volumes:
- ${DATA_PATH_HOST}/mysql:/var/lib/mysql
volumes
とは、docker内部のデータを永続化させる仕組みのことです。dockerは終了するたびにデータが破棄されてしまいますからね。
この部分はlaradockを導入するたびに一緒なので、もしlaravelのmigrate先データベース名を一緒にしてしまうとバッティングしてしまうんですね。
なので、プロジェクトごとにデータの保存先を変更しています。
最近では、上記の例に書いたように、 ~/.laradock-[プロジェクト名]/data
として作成することが多いです。
- DATA_PATH_HOST=~/.laradock/data
+ DATA_PATH_HOST=~/.laradock-hoge/data
PMA_PORT
PMA
はPhpMyAdminに関する設定部分です。
もし、下記のように
docker-compose up -d nginx mysql phpmyadmin
nginx, mysql, phpmyadmin の設定でlaradockを立ち上げたい場合、ポート番号8080
が競合してしまいます。なので、他のポートを指定してあげています。
WORKSPACE_INSTALL_MYSQL_CLIENT
今回は例として WORKSPACE_INSTALL_MYSQL_CLIENT
を取り上げましたが、他にも WORKSPACE_INSTALL_***
という環境変数がたくさんあります。
WORKSPACE_INSTALL_NPM_GULP=true
WORKSPACE_INSTALL_NPM_BOWER=false
WORKSPACE_INSTALL_NPM_VUE_CLI=true
WORKSPACE_INSTALL_NPM_ANGULAR_CLI=false
WORKSPACE_INSTALL_PHPREDIS=true
WORKSPACE_INSTALL_WORKSPACE_SSH=false
WORKSPACE_INSTALL_SUBVERSION=false
WORKSPACE_INSTALL_BZ2=false
WORKSPACE_INSTALL_GMP=false
WORKSPACE_INSTALL_XDEBUG=false
WORKSPACE_INSTALL_PCOV=false
WORKSPACE_INSTALL_PHPDBG=false
....
ここをいじることでコンテナのビルド時にインストールしてもらえます。
よくいじるのは
WORKSPACE_INSTALL_MYSQL_CLIENT
WORKSPACE_INSTALL_PHPDBG
あたりです。
以上、よくいじる主要なパラメータをご紹介しました。
ぜひ皆さんもチェックしてみてください!