docker - 从kubernetes/Docker中的Pod/容器执行,通过不包含预安装bash的镜像创建

标签 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 = invalid header field value "oci runtime error: exec failed: container_linux.go:247: starting container process caused \"exec: \\"/bin/bash\\": stat /bin/bash: no such file or directory\"\n"



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

最佳答案

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

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

关于docker - 从kubernetes/Docker中的Pod/容器执行,通过不包含预安装bash的镜像创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46617845/

相关文章:

github - 如何防止 SourceTree/SSH 忘记 SSH key ? (我必须手动重新运行 'ssh-add' 才能让它再次工作!)

docker - MLflow Kubernetes Pod 部署

kubernetes - 使用 Docker 驱动程序启动 Minikube 并将其绑定(bind)到主机网络

ssl - Traefik 使用 DEFAULT CERT 而不是 Let's Encrypt 通配符证书

docker 容器 : changing network kernel settings, net.core.rmem_max

linux - mkdir 在 docker 文件中失败,但在手动运行时工作正常

linux - 如何配置 Docker 资源

linux - 加密squid和客户端之间的流量

ssh - GridGain - 通过 Grid.startNodes API 使用 SSH 以编程方式打开节点

mongodb - Airflow 内存错误: Task exited with return code -9