LoginSignup
14

More than 3 years have passed since last update.

Docker内でcomposer require したらkilledになったときの対応

Posted at

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 のメモリ割り当てを増やす

image.png

Docker for Mac で指定しているDockerが利用できるリソースが、当初 2GBとなっていました。使っている MacBook Pro には 64GBものメモリを積んでいるので、ドドーンと 8GB まで増やしました。ここはマシンスペックとの相談かなと思います。

変更後、Dockerホストの再起動がかかりました。

解決!!

上記2点でメモリの設定を変更して、 composer require が無事実行できました。
composer update でも同様に大量のメモリが必要なので、同じような対応が必要になるかもしれません。

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
14