Laravel

Laradockで環境設定するときにチェックするべき設定項目

こんにちは。どんぶラッコです。

以前、Laradockで環境構築する方法について記事にしました。

【2020年3月 更新】LaradockでLaravelを構築するまでの全手順【必見】 こんにちは。どんぶラッコです。 今回は、せっかくの機会なので、Laradockを使ってLaravelの環境を構築するまでの手順を...

本日は、その発展として、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を変更するよう記述していました。

公式サイトを見ると、作成するディレクトリを指定しないと動かないのかと思ってしまいますよね。

https://laravel.com/docs/7.x から抜粋

でも、実は↓のように書くと、今自分がいるディレクトリにインストールを実施することもできます。

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

あたりです。


以上、よくいじる主要なパラメータをご紹介しました。

ぜひ皆さんもチェックしてみてください!

ABOUT ME
どんぶラッコ
ECコンサルタント、システムエンジニアを経て、quintet株式会社CTOに就任。普段はNuxt.jsやLaravelを使用しています。

\面白いと思ったら/

記事のシェア & Twitter のフォロー をお願いします!

@proglearn
RELATED POST

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です