是否有可能拥有没有 systemd 的 ubuntu docker 容器

是否有可能拥有没有 systemd 的 ubuntu docker 容器

我发现许多软件包安装都调用 systemd 来启动其软件。问题是,如果你想在 docker 中安装软件,它将导致安装失败。因为默认情况下,如果安装后脚本中出现故障,Debian 会使安装失败。

Elasticsearch 团队做了一个解决方法(我不确定他们是否明白它为 docker 用户修复了这个问题)。但对于许多软件包来说,这都是一个问题。

有没有办法让它们在 debian/ubuntu docker 中工作?

答案1

这不是答案,据我所知没有好的答案。

但具体做法如下:

  1. 自行安装软件
  2. 将包含此修正的补丁发送给软件包维护者
systemctl daemon-reload || true
# instead of
systemctl daemon-reload

无论之后调用了什么systemctl,您都应该建议添加,|| true以防软件包的安装后脚本中存在此类调用。这解决了 2 个问题:

  1. 有可能systemctl被掩盖了。
  2. 它可能systemctl无法工作(因为它不是作为第一个 pid 启动的),就像在 docker 中一样。

相关内容