Pay*_*ian 4 docker kubernetes docker-in-docker
如何在 kubernetes pod 中运行 docker 镜像?
我的一个队友定义了一个新的 docker 镜像并将其推送到我团队的私有注册表。我拥有一些在我们的 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 镜像中。我是按照这些文档做到的。一旦你已经kubectl安装了,它会自动能够与它的运行,并不需要额外的验证集群互动。
接下来,要运行teammtes-image:latestdocker 映像,您可以在 python 中执行以下操作:
导入子流程 subprocess.run(["kubectl", "run", "teammates-image", "--image", "gcr.io/our-project/teammates-image:lastest", "--attach", "--重新启动”、“从不”、“--rm”])
这应该:
| 归档时间: |
|
| 查看次数: |
3315 次 |
| 最近记录: |