LoginSignup
13
7

More than 3 years have passed since last update.

Laradockのdocker-compose upで出会ったエラー達

Last updated at Posted at 2019-06-30

Laradockのdocker-compose up中に出会ったエラー達を回避していった物語。

node でエラー

Error: Node version 'stable' not found when i up workspaceと怒られる。
.evnの「WORKSPACE_NODE_VERSION」を「v8.12.0」に変えて回避。

参考URL
- Error: Node version 'stable' not found when i up workspace

Yarn でエラー

wifiなどの通信速度が遅いとか他の通信エラーなど、通信状況によってエラーが出ることがある。
再挑戦してみると意外といける。

参考URL
- Bad signature on install

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
- 【Docker For Mac】Error response from daemon: Mounts deniedの対応

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
- Keep getting Nginx error 500
- Laravelで…vendor/autoload.php): failed to open stream: No such file or directory というエラーによりデフォルト画面が表示されない解決方法
- Composerインストールでhomebrew/php deprecatedになるとき
- No application encryption key has been specified.となったときの対応方法

13
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
7