gpt4 book ai didi

docker - 是否建议在 docker 容器内运行 systemd?

转载 作者:行者123 更新时间:2023-12-04 17:30:14 37 4
gpt4 key购买 nike

我打算在容器内使用“systemd”。根据我读过的文章,最好限制每个容器只有一个进程。

但是如果我在容器内配置“systemd”,我最终会运行许多进程。

在我做出任何决定之前,了解在容器内使用 systemd 的利弊会很棒。

最佳答案

如果可能的话,我建议您避免在容器中使用 systemd。

Systemd挂载文件系统,控制多个内核参数,拥有自己的内部系统来捕获进程输出,配置系统交换空间,配置大页面和 POSIX 消息队列,启动进程间消息总线,启动每个终端的登录提示,并管理一个 strip 的系统服务。其中许多是 Docker 为您做的事情;其他是Docker默认阻止的系统级控件(有充分的理由)。

通常你希望一个容器做一件事,这有时需要多个协调进程,但你通常不希望它做任何 systemd 提供的进程管理器之外的事情。由于 systemd 更改了如此多的主机级参数,您通常需要将其作为 --privileged 运行。这打破了 Docker 隔离,这通常是一个坏主意。

正如您在问题中所说,通常认为每个容器运行一个“块”是最好的。如果你不能这样做,那么像 supervisord 这样的轻量级进程管理器对 Docker 和 Unix 哲学来说,这是一个更好的匹配,至少需要一个 init 进程。

关于docker - 是否建议在 docker 容器内运行 systemd?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51979553/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com