Cle*_*rer 0 debian init docker molecule
我正在尝试启动 Debian 映像,并/sbin/init通过 molecular 进行 ansible 角色测试。
是的,我知道,除非您确实有这样做的用例,否则不应/sbin/init在容器中启动。使用 molecular,我可以在 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.
Run Code Online (Sandbox Code Playgroud)
然而,在 debian:8 下它工作得很好。
docker run -it --privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro debian:8 /sbin/init
Run Code Online (Sandbox Code Playgroud)
奇迹般有效。
Debian 是否已切换到新的启动过程?发生了什么变化?
结果 Debianinit已从 debian:9 及更高版本开始从其 docker 镜像中删除了该软件包。
这很棒,因为它可以帮助我们所有人尽早/快速失败。/sbin/init除非我们有这样做的用例,否则我们真的不应该开始- 相信我,大多数时候我们没有。
那么,如果我们确实有一个需要运行的用例该怎么办/sbin/init?
好吧,我们可以通过安装它
apt-get install -y init
Run Code Online (Sandbox Code Playgroud)
如果你需要一个 Dockerfile
FROM debian:9
RUN apt-get update && apt-get install -y init && apt-get clean all
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10087 次 |
| 最近记录: |