我安装了docker镜像并成功构建了镜像。

当我SSH到容器并运行命令service xxx start时,弹出一个错误:



实际上,fakesystemd是安装在容器中的,而不是systemd

因此,我删除了fakesystemd并使用以下命令安装了systemd:
yum swap-删除fakesystemd-安装systemd systemd-libs

但是我仍然无法启动该服务:



有没有人见过并解决过这个问题?

最佳答案

这是known issue,在Docker容器中具有基于systemd的操作系统。

简短的答案:除了用fakesystemd替换systemd之外,您还需要将/sys/fs/cgroup作为只读卷附加到容器中,构建镜像,然后以“特权”模式运行它。

这是the best guide I've found for this。它以Centos为例,但应与任何基于systemd的OS一起使用。

关于docker - 在Docker容器中启动服务失败,错误为: Failed to get D-Bus connection: No connection to service manager,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28495341/

10-13 07:45
查看更多