LaravelのDocker環境については、
公式でLaravel Sailと言うのがあるみたいです。
Laravelを入れたディレクトリに移動して、
composer require laravel/sail --dev
php artisan sail:install
途中でパスワードの入力を求められるので、パソコンのパスワードを入力。
その後選択画面になるのでインストールしたい項目を入力。
(コンマ区切りで複数入れられるみたいです。)
phpmyadmin追加
あとphpmyadminを使いたいので、
docker-compose.ymlを開いて以下を追加。
phpmyadmin:
image: phpmyadmin/phpmyadmin
links:
- mysql:mysql
ports:
- 8080:80
environment:
MYSQL_USERNAME: '${DB_USERNAME}'
MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
PMA_HOST: mysql
networks:
- sail
最後に起動
./vendor/bin/sail up
これで
http://localhost/
見たらlaravelで、
http://localhost:8080/
見たらphpmyadmin
コマンドが変わるのがちょっとめんどくさいな。
// php artisan migrate
./vendor/bin/sail artisan migrate
やっぱりコマンドめんどくさいので、
~/.zshrcに追加
alias sail='[ -f sail ] && bash sail || bash vendor/bin/sail'
これでsailコマンドで使えるようになったので、早速npm installする。
sail npm install
これでviteも使える。
phpmyadminの設定を変更する方法
config.user.inc.phpファイルを作って設定を記入して、
docker-compose.ymlのphpmyadminのところに追記
volumes:
- './config.user.inc.php:/etc/phpmyadmin/config.user.inc.php'
phpの設定を変更する方法
sail artisan sail:publish
これで、vendor/sail/runtime/ 以下にDockerの設定ファイルが出てくるので、
docker-composeファイル見て使ってるバージョンを確認して該当のphp.iniを編集する。
そんでdocker-compose.ymlのlaravel.testのところに追記
(この作業はいらないかも)
volumes:
- '.:/var/www/html'
- './vendor/laravel/sail/runtimes/8.2/php.ini:/etc/php/8.2/cli/conf.d/99-sail.ini'
これでDocker作り直したらいけるかな。
sail build --no-cache
sail up -d
参考