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