こんちは
デフォルトでDockerエンジンが採用するサイズが大きすぎて、
起動中のコンテナのメモリを制限したいことがあるかと思います。
Dockerは、起動中のコンテナでもリソースを変更することができます。
まずは、現在の統計情報を確認
$ docker stats
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
88ef7f56bd68 api 0.00% 11.6MiB / 15.56GiB 0.07% 13.1kB / 5.51kB 0B / 0B 18
32143219204f db 0.13% 454.2MiB / 15.56GiB 2.85% 14.4kB / 5kB 4.1kB / 3.26MB 22
apiコンテナに15Gも要らなさそうですね。
これを500mに変更するには、
$ docker update --memory="500m" 88ef7f56bd68
とします。
再度確認してみます。
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
88ef7f56bd68 api 0.00% 11.6MiB / 500MiB 0.07% 13.1kB / 5.51kB 0B / 0B 18
32143219204f db 0.13% 454.2MiB / 15.56GiB 2.85% 14.4kB / 5kB 4.1kB / 3.26MB 22
ちゃんと制限されていますね。
docker updateは他にもいろいろできます。
https://docs.docker.com/engine/reference/commandline/update/
以上、よきコンテナ生活を。