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の設定で制限してました。。。それだけ。。。気づくまでにめっちゃ時間かかったのでメモしときます。
![スクリーンショット 2018-12-19 22.23.04.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F56193%2Fe556f332-6d64-735b-2986-21883e67ca59.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=4af5014ab3719ffab6e01279e50e7423)