我已经设置了一个基于 OpenSuse 12 的 docker 容器,安装了一些附加文件并将一些安装程序二进制文件复制到容器中。到目前为止一切都很好。
从容器的运行映像中,我现在需要运行上述设置程序,但这需要启动并运行 uuid.socket - uuid.socket 反过来需要 systemctl 才能正常工作,这会导致如下错误:
hxehost:/usr/sap/SRCFiles # systemctl
Failed to get D-Bus connection: Unknown error -1
我像这样启动了 docker 容器:
docker run -h hxehost -i -t f3096b0aa964 /bin/bash
其中,根据一些帖子应该启动一个机器容器而不是一个应用程序容器。
谁能告诉我我在这里做错了什么???如何让 systemctl 在 docker 容器中工作?
我尝试使用此命令启动容器,根据链接提示应该这样做,但无济于事
docker run --privileged --rm -ti -e 'container=docker' -h hxehost --network="bridge" --tmpfs /run --tmpfs /tmp -v /sys/fs/cgroup:/sys/fs/cgroup:ro siliconchris/hxe:v0.0.2 /bin/bash
如果我这样做, systemctl 仍然会给出完全相同的错误。
如果我启动/sbin/init而不是 /bin/bash,我可以看到启动了很多服务(有些服务,如 wicked、login 和 module,失败)。最后,容器向我显示了一个登录信息。登录后,我现在可以执行 systemctl 并显示所有服务及其各自的状态。
现在我的下一个问题是:这种方法是否可行???
此致,
克里斯
您可以在 docker内的 SAP HANA Express Edition中找到此图像的存储库