環境
Docker for windowsを使用しています.
Docker Machineのバージョンは以下の通りです.
docker-machine.exe version 0.16.1, build cce350d7
Docker内でcomposer updateしようとした
LaravelをDockerコンテナ内で動かしているのですが,composer update
をしようとしたら怒れてしましました.
PHP Fatal error: Uncaught exception 'ErrorException' with message
'proc_open(): fork failed - Cannot allocate memory'
どうやらメモリ領域が足りないことが原因で起きたようです.
そこでスワップ領域を拡張しようと思い,以下のコマンドを実行したのですが, swapon failed: Operation not permitted
と怒られました.
/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
/sbin/mkswap /var/swap.1
/sbin/swapon /var/swap.1
権限を与えてもダメでした.
解決方法
Docker Machineのメモリを増やしたらうまくいきました.
Docker Machineを一度停止し,Oracle VM VirtualBox マネージャーを起動します.
以下のように該当するMachineの設定を開き,システム>マザーボード>メインメモリでメモリを増やします.
自分の環境では2GBでうまくいきました.