Docker内でcomposer require したらkilledになったときの対応
Mac上で Docker (docker-compose) で開発環境を作り、開発中の Laravel のアプリケーションに composer require
をしたら、中断されてしまいました
composer require ****/*****
(中略)
killed
composer が途中で終わってしまうといえば、メモリ不足が定石かなと思います。
会社の先輩からこのリンクを送ってもらい、疑惑が確信に変わりました。
[PHP] composer install が killed で失敗するときの原因と対処
https://webbibouroku.com/Blog/Article/composer-killed
PHP memory_limit の引き上げ
メモリ不足とわかったところで、まずDocker内で使っている php.ini
の memory_limit を増やしました。
どのくらい必要なのかわからなかったけど、とりあえず2GB(2048MB)にしました。
memory_limit = 2048M
設定変更後、 docker build して再起動
Docker for Mac のメモリ割り当てを増やす
Docker for Mac で指定しているDockerが利用できるリソースが、当初 2GBとなっていました。使っている MacBook Pro には 64GBものメモリを積んでいるので、ドドーンと 8GB まで増やしました。ここはマシンスペックとの相談かなと思います。
変更後、Dockerホストの再起動がかかりました。
解決!!
上記2点でメモリの設定を変更して、 composer require
が無事実行できました。
composer update
でも同様に大量のメモリが必要なので、同じような対応が必要になるかもしれません。
Author And Source
この問題について(Docker内でcomposer require したらkilledになったときの対応), 我々は、より多くの情報をここで見つけました https://qiita.com/makies/items/3e1064f17a18df750cad著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .