コンテナでD-Bus権限エラー

トップ > トラブルシュート > コンテナでD-Bus権限エラー

現象

Red Hat Enterprise Linux 系OS(CentOS, Rocky Linux, AlmaLinux, MIRACLE LINUE)上のコンテナで systemctl を起動しようとすると、下記などのエラーが発生することがあります。

# systemctl start httpd
Failed to get D-Bus connection: Operation not permitted

原因

コンテナが D-Bus (プロセス間のメッセージバス) にアクセスする権限を持っていないことが原因です。また、systemctl を利用するには、/sbin/init プロセスが稼働している必要があります。

回避策

コンテナ起動時に --privileged オプションを指定し、/sbin/init プロセスを起動させます。

# docker run -dit --privileged --name test centos:7 /sbin/init

Copyright (C) 2023 杜甫々
初版:2023年5月28日 最終更新:2023年5月28日
http://www.tohoho-web.com/tr/20230528_1.html