docker-compose (version:2) の mem_limit
オプションが効かなかったので
解決策をメモ
やりたかったこと
Macでdocker-composeのPHPの開発環境を作成していますが
ApacheのDockerコンテナの中で comopser update
を実行中に OOM Killer
によってkillされしまう
なのでコンテナのメモリーリミットを増やして回避したかった。
試したこと
docker-compose.yml
で mem_limit
オプション(version2で使える)があるんですが、そこで指定します、例えばこんな感じで4Gにしたかった。
version: '2'
services:
apache:
mem_limit: '4096m'
build: ./apache
volumes:
- ./www:/var/www/html
environment:
VIRTUAL_HOST: sample.local.host
設定後、docker-compose down && docker-compose up -d
して設定を反映させて、docker stats {container-name}
を実行して確認すると。
$ docker stats {container-name}
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
a6418763c519 {container-name} 0.01% 14.87MiB / 1.952GiB 0.74% 928B / 0B 28MB / 8.19kB 11
あれ、設定が反映されてない。。。
解決策
MacのDockerの設定で制限してました。。。それだけ。。。気づくまでにめっちゃ時間かかったのでメモしときます。