ubuntu -/usr/sbin/service 在 Docker 容器下做什么

标签 ubuntu service docker

据我了解,Docker 容器没有初始化系统,它们只运行 Dockerfile 的 CMD 部分中指定的任何内容。

然而,(例如在 FROM ubuntu:16.04 中)当我做 /usr/sbin/service --status-all我得到一个服务列表,就像在一个真正的 Ubuntu 系统中一样。

这些服务在做什么?这只是一个剩菜,他们实际上什么也没做?

最佳答案

Upstart/service 只是在/etc/init.d 中查找,它由软件包安装程序填充。 Docker 没有修改这些。您可以使用 service 手动生成进程命令,但没有运行 init,操作系统不会产生所有典型进程。一旦你产生了一个进程,你仍然需要保持你的 pid 1 运行以避免容器退出。容器的典型设计是只运行一个应用程序,它需要在前台运行,绕过 Upstart/service 和 init。

关于ubuntu -/usr/sbin/service 在 Docker 容器下做什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38382388/

相关文章:

ruby-on-rails - 无法在 ubuntu 上的 rails 上运行 ruby

c - gstreamer 在第一个示例程序中没有打开窗口

ubuntu - 如何在 Ubuntu VPS 上安装 FreeBSD?

linux - 齐奏失败 : Uncaught exception Failure ("input_value: ill-formed message")

android - 无法从 Android 服务中的 sharedPreference 接收更新值

symfony - 如何将 token 存储作为参数传递给 Symfony 3.4 中的事件监听器

c# - 从 Windows 服务打印,无对话框,无用户交互

docker - 如何构建占用磁盘空间相对较小的大型 docker 镜像?

docker - 可以在没有存储库的情况下使用 jib 吗?

macos - 无法在本地找到 docker 镜像