在ubuntu14.04 docker容器中安装systemd – 有可能吗?

我试图在docker容器中安装和配置openstack(devstack).安装时遇到以下错误

“无法获得D-Bus连接:没有与服务管理器的连接.”

后来,我查了一下,发现它因为systemd问题.当我尝试执行命令systemd时

$>systemd

我得到以下输出.

尝试作为用户实例运行,但系统尚未使用systemd启动.

以下是使用的东西.

主机操作系统:Ubuntu 14.04,
Docker版本:Docker版本1.12.4,build 1564f02,
Docker Container OS:Ubuntu 14.04

任何人都可以帮忙.提前致谢.

最佳答案
首先,systemd期望安装/ sys / fs / cgroup.此外,您必须使容器具有特权,否则会发生这种情况:

operation not permitted

docker run -v /sys/fs/cgroup:/sys/fs/cgroup:ro --privileged -it --rm ubuntu

然后你可以继续从bash运行/ bin / systemd –system –unit = basic.target,它应该正常运行(当然有一些错误,因为Docker没有虚拟化整个系统,库也不是: ubuntu映像超过正常运行所需的最小大小):

operation is permitted!

在系统正常运行(半)后,您可以简单地使用泊坞停止来停止容器.

对于我喜欢调用initbuntu的项目(最初我试图让init运行,但是直接运行systemd是我尝试失败后的唯一解决方案),这篇文章基于我自己的研究,也是几周的研究.该容器将作为logandark / initbuntu,Soon™在Docker Hub上提供.现在,在发布时可以获得一份破损的副本(或者没有破坏,我不知道).

来源(有点):

> / sys / fs / cgroup:Here
> systemd –system:StackOverflow帖子我丢失了链接.

转载注明原文:在ubuntu14.04 docker容器中安装systemd – 有可能吗? - 代码日志