【发布时间】:2016-11-23 07:38:44
【问题描述】:
我在 Google Container Engine 中有 nginx 和 php-fpm 容器,我想通过 unix 套接字而不是网络运行它。
我还有 Google SQL 代理容器,它使用空卷通过放置在与其他容器共享的卷上的套接字提供与 Google SQL 数据库的连接。所以我正在考虑对 PHP 使用相同的方法,但它不起作用。
我在 php 和 nginx 容器上安装了 emptyDir 类型的空卷。该卷已安装,我可以在两个容器中看到它。但是如果我尝试使用 nginx,我会在日志中找不到 (socket)file。
我还将 www-data(与 php 容器中的 uid 相同) 用户添加到 nginx 容器中,并将其设置在 nginx conf 中,但没有帮助。
Google SQL 代理在某些方面是否特别,我必须为 PHP 使用网络,还是我在这里遗漏了什么?
【问题讨论】:
-
为什么要使用 unix 套接字?
-
我认为你不应该使用 emptyDir。使用 hostVolume 挂载你的 unix 套接字。
-
emptyDir 可以使用,因为它在部署 pod 的整个生命周期内都可用。使用 hostVolume 可能会在具有相同套接字文件的 pod 之间产生一些冲突。
标签: docker cloud kubernetes google-kubernetes-engine