3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[備忘録] Dockerで、composer install が Killed になる。

Last updated at Posted at 2021-04-07

備忘録です。

やりたいこと

  • Dockerコンテナ内で、PHPのライブラリの依存管理ツール composer をインストールしたい。

状況

  • composer installコマンドを実行したところ、Killed になる。
dockerコンテナ内
/app # composer install
Loading composer repositories with package information
Updating dependencies (including require-dev)
Killed
  • 以下コマンドを実行しても、同様。
/app # composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Killed

解決方法

  • メモリ不足が原因のようでした。

  • 以下記事を参考に進める。(記事に感謝)

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

  • 編集:docker/php/php.ini
memory_limit = 2048M
  • Docker Dashboard上で、Resourcesを変更する

    Memory:2.00GB→8.00GB、Swap:2GB→4GB

_2021-04-03_17.20.44.png

  • インストールする。(殺されなかった!)
/app # composer install
...
Package manifest generated successfully.
64 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
  • インストール完了後、元に戻しておいた。
    • Memory:2.00GB、Swap:2GB

以下参考(解決に至るまでに参考にさせていただいた記事)

  • 検索したところ、メモリ不足が原因か。

[PHP] composer install が killed で失敗するときの原因と対処

# dd if=/dev/zero of=/var/swap bs=1M count=1024
# mkswap /var/swap
# swapon /var/swap
  • 実行したところ、変わらずエラー
/app # dd if=/dev/zero of=/var/swap bs=1M count=1024
1024+0 records in
1024+0 records out

/app # mkswap /var/swap
Setting up swapspace version 1, size = 1073737728 bytes
UUID=78e35732-6a85-47ab-b697-bf1c62c0994b

/app # swapon /var/swap
swapon: /var/swap: Operation not permitted

/app # composer install
Loading composer repositories with package information
Updating dependencies (including require-dev)
Killed
  • 作成したスワップファイルのパーミッションが原因です。パーミッションを書き換えればOK、とのことで試してみる。(変わらずエラー)

[Linux] スワップ領域の追加、割り当て方法

/app # chmod 600 /var/swap

/app # swapon /var/swap
swapon: /var/swap: Operation not permitted

/app # composer install
Loading composer repositories with package information
Updating dependencies (including require-dev)
Killed
3
2
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
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?