gpt4 book ai didi

docker - 如何在 Kubernetes pod 中运行 docker 镜像?

转载 作者:行者123 更新时间:2023-12-02 11:54:30 25 4
gpt4 key购买 nike

如何在 kubernetes pod 中运行 docker 镜像?

我的一个队友定义了一个新的 docker 镜像并将其推送到我团队的私有(private)注册表中。我拥有一些在我们的 kubernetes 集群中运行的代码,我们需要让我的代码有效地 docker run gcr.io/our-project/teammates-image:latest .

我一直在考虑在我们的 kubernetes pod 上启用 docker-in-docker,但我运气不佳。我目前正在尝试 minikube每当我尝试 docker run我得到:docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?. .

我已经添加
securityContext:
privileged: true

到我的容器规范。我怀疑我需要更多配置,但还没有弄清楚是什么。

我也在尝试评估我是否可以kubectl run --image=gcr.io/our-project/teammates-image:lastest从 Kubernetes pod 内部。

是否有从 kubernetes pod 中运行 docker 镜像的“正确”方法?如何使用 docker-in-docker 运行镜像?

最佳答案

这是我最终为将来可能偶然发现此问题的任何人使用的解决方案。

安装 kubectl在需要运行另一个 docker 镜像的主 docker 镜像中。我通过关注 these docs 做到了这一点.一旦你有 kubectl安装后,它应该能够自动与运行它的集群进行交互,并且不需要额外的身份验证。

接下来,运行 teammtes-image:latest docker image 你可以在 python 中执行以下操作:

导入子流程
subprocess.run(["kubectl", "run", "teammates-image", "--image", "gcr.io/our-project/teammates-image:lastest", "--attach", "--重新启动”、“从不”、“--rm”])

这应该:

  • 创建一个 pod
  • 运行图像
  • 返回容器的返回码
  • 完成后删除 pod
  • 关于docker - 如何在 Kubernetes pod 中运行 docker 镜像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49991256/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com