首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >docker archlinux映像:未使用systemd作为init System (PID 1)启动系统。无法操作

docker archlinux映像:未使用systemd作为init System (PID 1)启动系统。无法操作
EN

Stack Overflow用户
提问于 2019-03-04 11:01:59
回答 2查看 10K关注 0票数 7

我使用的是docker hub的archlinux/base官方镜像。

我正在尝试使用systemctl,它显示。

代码语言:javascript
运行
复制
$ docker run --rm -it ac16c4b756ed systemctl start httpd     
System has not been booted with systemd as init system (PID 1). Can't operate.

如何解决这个问题。

EN

回答 2

Stack Overflow用户

发布于 2019-03-04 13:05:31

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

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

票数 2
EN

Stack Overflow用户

发布于 2019-03-04 17:39:26

好吧,"systemctl“本身不会做任何事情,但它会要求systemd守护进程执行一些任务。它通常通过套接字与之通信。因此,systemd守护进程必须已经启动。如果需要的话,有一些基础镜像会将systemd实际运行为PID-1。

然而,就我个人而言,我并不建议这样做。如果您确实需要继续运行systemctl命令,那么您也可以尝试在该操作系统上使用docker-systemctl-replacement脚本。它还可以用作容器的PID-1。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54976063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档