docker - 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 守护程序来启动容器。有什么办法可以解决这个问题吗?
解决方案
您可以在部署中挂载 docker 套接字文件。
docker container run -d \
-v /var/run/docker.sock:/var/run/docker.sock <image-name>
类似的更改也可以添加到 Kubernetes 部署中。
现在,您的应用程序可以连接到本地系统中运行的 docker 守护程序。
但是,这不是一个好的做法,因为它损害了 docker 提供的安全隔离。
推荐阅读
- python - 数据库中的外键
- statistics - 用于 T 检验的对照组/测试组的最佳样本量
- c++ - 一个类是否可以拥有将当前类作为参数的成员
- python - 使用win32 python将excel中的一列数据格式化为百分比
- python - Python + Selenium 从滚动框中选择 href
- excel - Excel - 分配每个值的索引是一个排序数组
- javascript - 在 CSS 更改上更改 JS
- laravel - 如果用户在 laravel 中分配了多个角色,我如何使用单个角色登录?
- windows - 如何在 Windows 7 上为帮助台用户授予 Active Directory 中的只读访问权限?
- amazon-web-services - cognito 中的每个身份角色