systemctl未在Docker上运行

时间:2018-10-01 16:55:26

标签: docker systemctl

我正在尝试在Docker上启动ntp服务,但无法正常工作:

Configuring NTP daemon (ntpd)
  [1/4]: stopping ntpd
  [error] CalledProcessError: Command '/bin/systemctl stop ntpd.service' returned non-zero exit status 1
ipa.ipapython.install.cli.install_tool(CompatServerMasterInstall): ERROR    Command '/bin/systemctl stop ntpd.service' returned non-zero exit status 1
ipa.ipapython.install.cli.install_tool(CompatServerMasterInstall): ERROR    The ipa-server-install command failed. See /var/log/ipaserver-install.log for more information

我不知道如何解决此问题,请帮助我。

1 个答案:

答案 0 :(得分:0)

CentOS 7和更高版本上的systemctl工具本身不会做任何事情,它只会与PID 1上的systemd守护程序通信,要求它执行某些操作。由于Docker容器中没有此类守护程序,因此stop-命令无法像其他任何systemctl命令一样工作。

如果您需要与实际系统的安装说明保持兼容性,则可以使用无需systemd守护程序的工具替换systemctl,例如, docker-systemctl-replacement,它也作为CMD用作init守护程序,该守护程序以正确的顺序运行所有启用的服务。有时使用initscripts也会有所帮助,但我不确定这种情况。