我安装了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/