1. Qiita
  2. 投稿
  3. docker

ulimit を docker の daemon 起動時に指定したい

  • 7
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

大量にファイルを開く docker コンテナがある場合、コンテナ内で ulimit -n 65535 等を実行したいが、その上限は docker の daemon 起動時に決まってしまっています。
service docker stop; ulimit -n 65535; service docker start 等と毎回やるのは面倒です。

そこで service docker start 時に使われる /etc/init.d/docker の(わりと最初の)初期化時に

/etc/init.d/docker
prog="docker"

[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog

があることに着目し、/etc/sysconfig/docker に ulimit を書くことにします。

/etc/sysconfig/docker
# /etc/sysconfig/docker
#
# Other arguments to pass to the docker daemon process
# These will be parsed by the sysv initscript and appended
# to the arguments list passed to docker -d

other_args=" --storage-opt dm.basesize=40G"

ulimit -n 65535

昨日の @python_spameggs さんの Dockerのルートディスクサイズを増やし方 と合わせると上記のようになりますね!

これでいっぱいファイル開くコンテナも安心ですね!