执行kubernetes / Docker中的Pods /容器,从不包含预先安装的bash的映像创建

时间:2017-10-07 07:35:52

标签: docker ssh kubernetes alpine

我正在尝试使用此命令执行从this图像创建的haproxy-ingress pod:

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

然后我收到此消息

  

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

有没有办法执行使用未预先安装bash的图像创建的容器?

1 个答案:

答案 0 :(得分:4)

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

除此之外,请注意,为了清楚起见,你没有SSH进入容器,你在其中执行一个过程。