[英]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"])
这应该:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.