【问题标题】:Exec into Pods/containers in kubernetes/Docker, created from images that does not contain bash pre-installed执行到 kubernetes/Docker 中的 Pod/容器中,从不包含预安装 bash 的映像创建
【发布时间】:2017-10-08 21:51:56
【问题描述】:

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

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

然后我收到这条消息

rpc 错误:代码 = 13 desc = 无效的标头字段值“oci 运行时 错误:执行失败:container_linux.go:247:启动容器进程 导致 \"exec: \\"/bin/bash\\": stat /bin/bash: no such file 或 目录\"\n"

有没有办法执行到使用未预装 bash 的映像创建的容器中?

【问题讨论】:

    标签: docker ssh kubernetes alpine


    【解决方案1】:

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

    除此之外,为了清楚起见,请注意,您不会通过 SSH 进入容器,而是在其中执行一个进程。

    【讨论】:

    • 感谢@Radek 的快速回复。
    猜你喜欢
    • 2018-10-24
    • 2019-09-26
    • 2022-10-15
    • 2019-12-18
    • 2021-04-12
    • 2021-05-11
    • 1970-01-01
    • 1970-01-01
    • 2019-02-12
    相关资源
    最近更新 更多