繁体   English   中英

如何在Kubernetes Pod中运行Docker镜像?

[英]How to run docker image in Kubernetes pod?

如何在kubernetes容器中运行docker映像?

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

我一直在寻找在我们的kubernetes容器上启用docker-in-docker的功能,但运气不佳。 我目前正在尝试minikube并且每当尝试docker run minikube时,我都会得到: docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?. 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 lastest。

是否存在从kubernetes容器中运行docker映像的“正确”方法? 如何使用docker-in-docker运行映像?

这是我最终为将来可能会遇到此问题的任何人使用的解决方案。

在需要运行其他kubectl映像的主kubectl中安装kubectl 我通过遵循这些文档来做到这一点。 一旦安装了kubectl ,它便应该能够自动与其正在运行的集群进行交互,并且不需要额外的身份验证。

接下来,要运行teammtes-image:latest映像,您可以在python中执行以下操作:

import subprocess
subprocess.run(["kubectl", "run", "teammates-image", "--image", "gcr.io/our-project/teammates-image:lastest", "--attach", "--restart", "Never", "--rm"])

这应该:

  1. 创建一个豆荚
  2. 运行图像
  3. 返回容器的返回码
  4. 完成后删除吊舱

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM