首页 > 解决方案 > Kubernetes 上的 Docker

问题描述

我有一个需要 Docker 的应用程序,该应用程序在启动时会检查 Docker 守护程序。我无法摆脱它,因为它是第三方应用程序。

因此,当我尝试在 Kubernetes 上部署此应用程序时出现错误。

Failed to run 'docker -H unix:///var/run/docker.sock ps -a': exited with status 1; stderr='Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

我不确定 Kubernetes 是否在内部使用 Docker 守护程序来启动容器。有什么办法可以解决这个问题吗?

标签: dockerkubernetes

解决方案


您可以在部署中挂载 docker 套接字文件。

docker container run -d \
-v /var/run/docker.sock:/var/run/docker.sock <image-name>

类似的更改也可以添加到 Kubernetes 部署中。

现在,您的应用程序可以连接到本地系统中运行的 docker 守护程序。

但是,这不是一个好的做法,因为它损害了 docker 提供的安全隔离。


推荐阅读