dockerでcomposer require が killed になる場合の対応


はじめに

dockerで構築したLaravel環境にてnunomaduro/larastanをinstallしようとしたところKilledとなり失敗。

$ composer require --dev nunomaduro/larastan
(中略)
Killed

環境

  • docker for mac

解決策

調べてみるとどうやらPHPのメモリ不足が原因のようで一旦メモリ使用量を無制限に。

php.ini
memory_limit = -1

コンテナ内にて反映確認。

$ php -i | grep memory_limit

memory_limit => -1 => -1

再度実行してみるも解決せず。。

$ composer require --dev nunomaduro/larastan
(中略)
Killed

Docker for Macのリソース制限の問題でした。

とりあえず
Memory 2GB → 5GB
Swap 1GB → 2.5GB
へと変更。

※Memoryの変更だけでも問題ないかもしれません

上記で再度実行したところ無事インストール完了🎉

おわりに

docker環境利用時のメモリ不足などの問題の際はDocker for Macのリソース制限についても疑っていこうと思いました。