h-yuusuke
2022年4月28日 10時15分
お世話になっております。
掲題の件に関してまして、コンテナ内で使用するメッセージキューのサイズを設定しようとしております。
そのため、下記の手順を実施しているのですが、設定したいサイズになりません。
①下記2行を追加した"limits.conf"を用意
* hard msgqueue 8192000 * soft msgqueue 8192000
②Dockerfileに下記を記載してpodman buildを実行
COPY limits.conf /etc/security/limits.conf
③コンテナ起動後、コンテナ内で「ulimit -q」コマンドを実行してメッセージキューサイズを確認
# ulimit -q 819200 // ①でlimits.confに記載した8192000になっていない
コンテナ内でのメッセージキューサイズを設定するためにはどのようにしたらよいでしょか?
at_dominique.m…
2022年4月28日 10時44分
h-yuusukeさん、
お世話になっています、
マルティネです。
> ①下記2行を追加した"limits.conf"を用意
> コンテナ内でのメッセージキューサイズを設定するためにはどのようにしたらよいでしょか?
そうですね。 limits.conf は pam によって制限を実施しますが、コンテナ内の pam をあまり使いません(コンテナ内で su など使っていたら、使いことになりますが、CAP_SYS_ADMINがなければ下がることしかできません)
代わりに、podman_startが実行される時にその制限が無いので、 .confファイルに単純に `ulimit -q 8192000` を実行すれば上げることはできます。
なお、podman_start の conf は個別に子プロセスで実行されますので、複数のコンテナを起動する場合に他のコンテナに影響ありません。
# ちなみに、podman execを使用する場合に、podman exec を実行する環境が依存されるので、exec前にも ulimit -qを使えます。
よろしくお願いします