かべぎわブログ

技術的なことについてかけたらいいな…

docker run --cpu-shares --memoryでCPU/メモリのリソース利用を制限して起動させる

概要

docker runコマンドに--cpu-shares--memoryオプションを指定して、CPUとメモリのリソース利用を制限して起動してみたいと思います。

コマンド例

以下のようにすることでコンテナのリソースを制限して起動することができます。

$ sudo docker run --cpu-shares=512 --memory=256m centos

ちょっとした解説

--cpu-shares

--cpu-sharesはCPUを使用する割合の配分です。
デフォルト(オプション省略時)は1024です。
この設定値が同じコンテナだけであればすべてのCPUは均等に利用されます。
たとえば以下のように2台のコンテナを起動した場合、ubuntuのコンテナに割り当てられるCPUはubuntu:1/3 centos:2/3となります(たぶん)

$ sudo docker run --cpu-shares=1024 centos
$ sudo docker run --cpu-shares=512 ubuntu

--memory

こっちはかんたんでメモリ使用量です。
単位としてb,k,m,gを指定することができます。

おわりに

潤沢なリソースをつかいたいものだ

プログラマのためのDocker教科書 第2版 インフラの基礎知識&コードによる環境構築の自動化

プログラマのためのDocker教科書 第2版 インフラの基礎知識&コードによる環境構築の自動化