执行到kubernetes / Docker中的Pods /容器,从不包含预装bash的图像创build

我试图从此映像创buildhaproxy-ingress吊舱,使用以下命令:

kubectl -n kube-system exec -it haproxy-ingress-4122301161-bcd94 /bin/bash

然后我得到这个消息

rpc error:code = 13 desc =无效的头字段值“oci运行时错误:exec失败:container_linux.go:247:启动容器进程导致\”exec:\\“/ bin / bash \\”:stat / bin / bash :没有这样的文件或目录\“\ n”

有没有一种方法来执行一个容器,使用没有预装bash的图像创build的容器?

是的,容器没有bash可用,这并不罕见。 通常你会发现当bash不在时, /bin/sh仍然是,就像你提到的图像一样。 因此,使用kubectl -n kube-system exec -it haproxy-ingress-4122301161-bcd94 /bin/sh就足够了。

除此之外,请为了清楚起见而介意,您不需要SSH进入容器,您可以在其中执行一个进程。