2019年7月25日木曜日

stack deploy 時に ulimits が使えない場合の対処方法

概要

docker の stack deploy で docker-compose を使う場合にいくつか使えないパラメータがあります
その中でコンテナの ulimits を制限するパラメータがあるのですがこれが stack deploy では使えません
例えば ElasticSearch のコンテナを使う場合に ulimit の memory lock を設定する必要がありこのような場合に docker-compose がそのまま使えません
そんな場合には dockerd に対して直接設定することができます

環境

  • boot2docker
  • docker 18.09.7

dockerd のパラメータ設定

今回は boot2docker を想定しています
dockerd のインストール方法によって設定方法が異なるので注意してください
apt や yum でインストールした場合は daemon.json を編集します

  • vim /var/lib/boot2docker/profile
EXTRA_ARGS='
--label provider=vmwarevsphere
--default-ulimit memlock=-1

'
CACERT=/var/lib/boot2docker/ca.pem
DOCKER_HOST='-H tcp://0.0.0.0:2376'
DOCKER_STORAGE=overlay2
DOCKER_TLS=auto
SERVERKEY=/var/lib/boot2docker/server-key.pem
SERVERCERT=/var/lib/boot2docker/server.pem

--default-ulimit memlock=-1 を追加します
これで memory lock が制御できます

反映

  • docker-machine restart default

参考サイト

0 件のコメント:

コメントを投稿