oci runtime error: exec failed: container_linux.go:247: starting container process caused “exec: \“/

在运行 mpi-operator 之后,想进去容器查看一下,于是执行下面的命令报错。

[root@TENCENT64site /data/runzhliu/mpi]# kubectl exec -it -n kube-system mpi-operator-bbf56967f-ht8bx /bin/sh
rpc error: code = 2 desc = oci runtime error: exec failed: container_linux.go:247: starting container process caused "exec: \"/bin/sh\": stat /bin/sh: no such file or directory"%0A

这个问题是之前经常遇到的,其实大概知道是因为镜像没有 shell。因为之前没有关注过 distroless/base-debian10 这个镜像,而这个镜像又是 mpi-operator 的基础镜像,特意搜了一下,发现这个项目,GoogleContainerTools/distroless,看一眼 README 就理解了。

oci runtime error: exec failed: container_linux.go:247: starting container process caused “exec: \“/_第1张图片
很明显,这个镜像是没有 shell 的,也没有各种包管理工具,即使进入容器了,你也很难装软件…
所以说,如果需要到容器里的话,就不要用这个镜像作为 base 镜像了,这个镜像体积很小,很适合线上环境,但是不适合调试。

你可能感兴趣的:(Docker)