【问题标题】:Debian image - /sbin/init not foundDebian 映像 - 未找到 /sbin/init
【发布时间】:2020-03-14 15:11:37
【问题描述】:

我正在尝试使用 /sbin/init 进程启动一个 Debian 映像,以便通过分子进行 ansible 角色测试。

是的,我知道,除非您确实有这样做的用例,否则不应在容器中启动 /sbin/init。使用分子,我可以在 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 是否已切换到新的引导过程?发生了什么变化?

【问题讨论】:

    标签: docker debian init molecule


    【解决方案1】:

    原来 Debian 已经从他们的 docker 镜像中删除了 init 包,从 debian:9 和更新版本开始。

    这很棒,因为它可以帮助我们所有人尽早/快速失败。我们真的不应该开始 /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
    

    【讨论】:

      猜你喜欢
      • 2016-11-12
      • 1970-01-01
      • 2021-10-04
      • 1970-01-01
      • 1970-01-01
      • 2022-09-24
      • 1970-01-01
      • 2022-06-13
      • 1970-01-01
      相关资源
      最近更新 更多