Centosコンテナ内でアプリケーションを実行しようとしていますが、リアルタイムで実行する必要があります。私はそれを見て、lxc.cap.keep = sys_niceを追加するように提案されました。
これを行った後、lxc-startはlxc.cap.keepとlxc.keep.dropだけが並んで使用できないと文句を言いました。実際、グローバル lxc 構成ファイルには複数の lxc.cap.drop があります。
この問題をどのように解決できますか?
答え1
ホワイトリストとブラックリストで考えlxc.cap.keep
て行動すればいいです。lxc.cap.drop
両方が利用できない場合は、その項目をホワイトリストに追加せず、ブラックリストからそれらを削除してください。実際にホワイトリストが利用できない場合は、ブラックリストが使用中であることを意味します。その能力が削除されたらブラックリストにあるという意味です。だから上書きする必要がありますlxc.cap.drop
。
これらの構成はすべて含まれていますが、/usr/share/lxc/config
(ホスト)ディストリビューションまたはパッケージのバージョンによって若干異なる場合があります。プロフィールに他のプロフィールが含まれている場合もあります。アイテムは蓄積されるため、ファイルを直接編集するか(アップグレード時の注意...)、すべてのアイテムを見つけて置き換える必要があります。
最も簡単にグローバル置換のために、ファイルには次のような行
/usr/share/lxc/config/centos.common.conf
が含まれています。lxc.cap.drop = sys_module sys_nice sys_pacct
不要なアイテムを削除し、次に置き換えます。
lxc.cap.drop = sys_module sys_pacct
1つのコンテナでのみ構成を置き換えるには、削除されたすべての機能(一部のlxc詳細ログまたはその他の方法)を列挙する方法を見つけます。手動値のない項目を使用してブラックリストを解放し、「再作成」します。ホストもCentOSの場合、削除後に
sys_nice
コンテナ設定に追加し、組み込み後:lxc.cap.drop = lxc.cap.drop = mac_admin mac_override setfcap lxc.cap.drop = sys_module sys_pacct lxc.cap.drop = sys_rawio sys_time