什么是/ usr / sbin / service在Docker容器下进行的

时间:2016-07-14 19:09:41

标签: ubuntu service docker

据我所知,Docker容器没有init系统,它们只运行Dockerfile的CMD部分中指定的任何内容。

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

这些服务在做什么?它只是一个遗留物,它们实际上没有做任何事情吗?

1 个答案:

答案 0 :(得分:1)

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