基本 Docker 容器报告运行级别未知
Basic Docker container reports runlevel unknown
当我 运行 一个基本的 Docker 容器(来自 Google 云 Shell 中)时,就像这样
docker pull debian
docker run -i -t debian:wheezy /bin/bash
然后在运行ning容器的shell提示符下输入runlevel
,运行级别为unknown
。我是否应该安装(apt-get
)特定的软件包以添加对 运行 级别的支持。如果是这样,哪些或其他可能是错误的?
Docker 是应用程序隔离工具,而不是 OS 虚拟化工具。运行级别处于 OS 级别,OS 出现,安装目录并启动服务以达到 运行 级别。在一个容器中,你的应用程序被启动,结束。您可以假设容器处于单个用户 运行 级别,因为您是唯一访问该环境的用户,但安装应用程序确实无关紧要。
BMitch 是对的。 Docker 与运行级别无关,它永远不会改变运行级别。但还有更多。
runlevel
unknown
在某些系统上很常见 运行 systemd
。不过,您的问题标有 Debian 和 Debian Jessie(最新的 Debian 版本,使用 systemd,使用兼容性脚本来打印运行级别)。基于 Arch 的发行版和不稳定的基于 RedHat 的发行版(例如 Fedora)在执行 runlevel
时打印 unknown
,即它们甚至不关心打印假的运行级别。
如果您检查运行级别脚本,您将在最近的发行版中获得以下输出:
$ ls -l $(which runlevel)
lrwxrwxrwx 1 root root 9 Jun 18 14:44 /usr/bin/runlevel -> systemctl
(在 arch 上,runlevel
在 Debian 上 /usr/sbin
,但在 Debian 上它也指向 systemctl
)
runlevel
脚本指向 sysemtd
对最新发行版的控制。
一般来说,runlevel
对最近的发行版没有任何意义(因为 systemd
几乎每个人都转向了)。如果您查看 /etc/rc.d/rc*.d/
目录,它们几乎是空的。
真正定义 init
如何处理系统启动的是 systemd 默认目标,位于此处:
/lib/systemd/system/default.target
或 /etc/systemd/system/default.target
,如果存在的话。
当我 运行 一个基本的 Docker 容器(来自 Google 云 Shell 中)时,就像这样
docker pull debian
docker run -i -t debian:wheezy /bin/bash
然后在运行ning容器的shell提示符下输入runlevel
,运行级别为unknown
。我是否应该安装(apt-get
)特定的软件包以添加对 运行 级别的支持。如果是这样,哪些或其他可能是错误的?
Docker 是应用程序隔离工具,而不是 OS 虚拟化工具。运行级别处于 OS 级别,OS 出现,安装目录并启动服务以达到 运行 级别。在一个容器中,你的应用程序被启动,结束。您可以假设容器处于单个用户 运行 级别,因为您是唯一访问该环境的用户,但安装应用程序确实无关紧要。
BMitch 是对的。 Docker 与运行级别无关,它永远不会改变运行级别。但还有更多。
runlevel
unknown
在某些系统上很常见 运行 systemd
。不过,您的问题标有 Debian 和 Debian Jessie(最新的 Debian 版本,使用 systemd,使用兼容性脚本来打印运行级别)。基于 Arch 的发行版和不稳定的基于 RedHat 的发行版(例如 Fedora)在执行 runlevel
时打印 unknown
,即它们甚至不关心打印假的运行级别。
如果您检查运行级别脚本,您将在最近的发行版中获得以下输出:
$ ls -l $(which runlevel)
lrwxrwxrwx 1 root root 9 Jun 18 14:44 /usr/bin/runlevel -> systemctl
(在 arch 上,runlevel
在 Debian 上 /usr/sbin
,但在 Debian 上它也指向 systemctl
)
runlevel
脚本指向 sysemtd
对最新发行版的控制。
一般来说,runlevel
对最近的发行版没有任何意义(因为 systemd
几乎每个人都转向了)。如果您查看 /etc/rc.d/rc*.d/
目录,它们几乎是空的。
真正定义 init
如何处理系统启动的是 systemd 默认目标,位于此处:
/lib/systemd/system/default.target
或 /etc/systemd/system/default.target
,如果存在的话。