我对 Google Cloud 平台和 Docker 还很陌生,我设置了一个节点集群,制作了一个 Dockerfile 来复制一个 repo 并在公共(public)端口上运行 Clojure REPL。我可以从我的 IDE 连接到它并使用我的代码,太棒了!
然而,REPL 可能应该通过 SSH 进行隧道传输,但这是我的问题开始的地方。 我找不到合适的 SSH 位置来更改 Docker 运行 REPL 的存储库:
- 暴露的 IP 只是暴露了 REPL 服务(正确的 kubernetes 术语?)并且不允许我通过 SSH 进入。
- 集群主端点也没有,它给了我一个公钥错误,即使我已经按照
为项目中的所有实例添加或删除 SSH key
部分 here .
我想通过 SSH 编辑源文件,但我需要访问 docker 代码仓库。我不知道如何继续。
我知道这并不完全是部署应用程序的典型方式,所以我什至不确定是否可以让多个节点与修改后的 docker 代码库一起工作(节点是否以某种方式共享 JVM?)。
具体来说,我的问题是如何通过 SSH 进入 docker 容器以访问代码库?
最佳答案
对于更新的 Kubernetes 版本,shell 命令应该用 --
分隔:
kubectl exec -it <POD NAME> -c <CONTAINER NAME> -- bash
请注意 bash
需要可用于在容器内执行。对于不同的操作系统风格,您可能需要改用 /bin/sh
、/bin/bash
(或其他)。
Kubernetes 1.5.0 的命令格式:
kubectl exec -it <POD NAME> -c <CONTAINER NAME> bash
关于docker - 如何通过 SSH 连接到 Kubernetes 集群中的 docker 容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38485771/