Debian 映像 - /sbin/init 未找到
Debian image - /sbin/init not found
我正在尝试使用 /sbin/init
过程启动 Debian 映像,以便通过分子进行可靠的角色测试。
是的,我知道,不应该在容器中启动 /sbin/init
除非您确实有这样做的用例。使用 molecule,我可以在 docker 容器中测试我的 ansible 角色。因此我需要 /sbin/init
运行.
当我执行
docker run -it --privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro debian:9 /sbin/init
docker: Error response from daemon: OCI runtime create failed: container_linux.go:346:
starting container process caused "exec: \"/sbin/init\": stat /sbin/init: no such file
or directory": unknown.
然而,使用 debian:8 它工作得很好。
docker run -it --privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro debian:8 /sbin/init
很有魅力。
Debian 是否已切换到新的启动过程?发生了什么变化?
事实证明,Debian 已经从 docker 映像中删除了 debian:9 和更新版本的 init
软件包。
这很棒,因为它可以帮助我们所有人避免失败 early/fast。我们真的不应该开始 /sbin/init
除非我们有这样做的用例 - 相信我,大多数时候我们不会这样做。
那么如果我们真的有一个用例需要运行 /sbin/init
怎么办?
嗯,我们可以通过
安装它
apt-get install -y init
如果你需要一个 Dockerfile
FROM debian:9
RUN apt-get update && apt-get install -y init && apt-get clean all
我正在尝试使用 /sbin/init
过程启动 Debian 映像,以便通过分子进行可靠的角色测试。
是的,我知道,不应该在容器中启动 /sbin/init
除非您确实有这样做的用例。使用 molecule,我可以在 docker 容器中测试我的 ansible 角色。因此我需要 /sbin/init
运行.
当我执行
docker run -it --privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro debian:9 /sbin/init
docker: Error response from daemon: OCI runtime create failed: container_linux.go:346:
starting container process caused "exec: \"/sbin/init\": stat /sbin/init: no such file
or directory": unknown.
然而,使用 debian:8 它工作得很好。
docker run -it --privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro debian:8 /sbin/init
很有魅力。
Debian 是否已切换到新的启动过程?发生了什么变化?
事实证明,Debian 已经从 docker 映像中删除了 debian:9 和更新版本的 init
软件包。
这很棒,因为它可以帮助我们所有人避免失败 early/fast。我们真的不应该开始 /sbin/init
除非我们有这样做的用例 - 相信我,大多数时候我们不会这样做。
那么如果我们真的有一个用例需要运行 /sbin/init
怎么办?
嗯,我们可以通过
安装它apt-get install -y init
如果你需要一个 Dockerfile
FROM debian:9
RUN apt-get update && apt-get install -y init && apt-get clean all