Laradockのdocker-compose up
中に出会ったエラー達を回避していった物語。
node でエラー
Error: Node version 'stable' not found when i up workspace
と怒られる。
.evnの「WORKSPACE_NODE_VERSION」を「v8.12.0」に変えて回避。
参考URL
Yarn でエラー
wifiなどの通信速度が遅いとか他の通信エラーなど、通信状況によってエラーが出ることがある。
再挑戦してみると意外といける。
参考URL
Nginx のビルドでエラー
依存しているDocker HubのNginxコンテナもしくはalpineコンテナがアップデートされたことが原因。
Nginxのdockerfileを最新のマスターマージされた物に変更。
参考URL
- https://github.com/laradock/laradock/blob/master/nginx/Dockerfile
- Laradockコンテナのビルドで ”adduser: group 'www-data' in use” が発生したときの対応【メモ】
そんなディレクトリ知らないよエラー
Cannot start service docker-in-docker: b'Mounts denied: \r\nThe path /usr/local/development/laravel/laravelTodo/laravelTodo\r\nis not shared from OS X and is not known to Docker.
Docker for Macの「設定」-「共有ディレクトリ」でパスを登録してリスタート。
参考URL
Nginxが立ち上がっているのにHTTPで500エラー
laradockのgitイシューのコメントに「Dockerのlogを見てみたら?」ってのがあったので、logを拝見した。
■ Dockerのlogを見るコマンド
docker logs -f $(docker ps | grep php-fpm | awk -F $'[ ]{2,}' '{ print $7 }')
すると、こんなこと言ってた。「【../vendor/autoload.php】が見つからないYo!」
[29-Jun-2019 08:30:37] NOTICE: fpm is running, pid 1
[29-Jun-2019 08:30:37] NOTICE: ready to handle connections
[29-Jun-2019 08:31:02] WARNING: [pool www] child 7 said into stderr: "NOTICE: PHP message: PHP Warning: require(/var/www/public/../vendor/autoload.php): failed to open stream: No such file or directory in /var/www/public/index.php on line 24"
[29-Jun-2019 08:31:02] WARNING: [pool www] child 7 said into stderr: "NOTICE: PHP message: PHP Fatal error: require(): Failed opening required '/var/www/public/../vendor/autoload.php' (include_path='.:/usr/local/lib/php') in /var/www/public/index.php on line 24"
172.23.0.6 - 29/Jun/2019:08:31:02 +0000 "GET /index.php" 500
自身のgitで管理しているLaradockを他環境でpullして構築する際にcomposerをインストールし忘れたのが原因。
gitをpullしただけじゃcomposerはインストールされないものね(テヘペロっ!失態だぜ!)
laravelのディレクトリに移動してcomposerをインストール。
brew install homebrew/core/composer
その後composerをupdeteする。
composer update
laravelの「.env」の設定が.env.exsampleをコピーしただけの初期値のままになっていると、http://localhost:8000
にアクセスするした時に「No application encryption key has been specified.」とlaravelのエラーが表示される。
そんな時は、laradockのworkspaceに入ってartisanコマンドでkeyのセットをする。
% docker exec -it laradock_workspace_1 /bin/bash
root@5d21e655db15:/var/www# php artisan key:generate
Application key set successfully.
laravelの.envを確認してみると値がセットされている。
その後、http://localhost:8000
にアクセスするとlaravelのページが表示される。
参考URL