docker archlinux映像:系统尚未使用systemd作为初始化系统(PID 1)进行引导。无法操作

时间:2019-03-04 03:01:59

标签: docker archlinux systemctl

我正在使用来自docker hub的archlinux / base官方映像。 我正在尝试使用systemctl,它说。 $ docker run --rm -it ac16c4b756ed systemctl启动httpd 尚未使用systemd作为初始化系统(PID 1)引导系统。无法操作。 如何解决这个问题。

2 个答案:

答案 0 :(得分:2)

如果您的目标是运行Apache Web服务器(httpd),则应使用httpd image

Docker容器通常旨在运行单个进程。因此,您通常不会设计一个容器来将诸如systemd之类的内容作为根进程运行,然后将httpd作为子进程运行。您只需直接在前台运行httpd。 httpd图片可以做到这一点。

答案 1 :(得分:0)

好吧,“ systemctl”本身不会做任何事情,但是会要求systemd守护程序执行某些任务。它通常通过套接字与之通信。因此,systemd守护程序必须已经启动。如果需要,有一些基本映像实际上以systemd PID-1的身份运行。

就个人而言,我不建议这样做。如果您确实需要坚持使用systemctl命令,那么也可以尝试在该操作系统上使用This is how it should looks like脚本。它也可以用作容器的PID-1。