docker - 如何在同一个 pod 中引用我的 mysql 容器?
问题描述
我有一个 Kubernetes deployment.yml 文件,其中包含以下容器设置:
- nginx
- php-fpm
- mysql
我为我的 php-fpm 容器设置了一些环境变量:
- 数据库主机
- DB_DATABASE
- DB_USER
- DB_PASSWORD
我想知道如何将 DB_HOST env var 设置为链接到我的 MySQL 容器(与我的 nginx 和 php-fpm 容器在同一个 pod 中运行)。
或者我应该为我的 MySQL 容器创建一个新的 pod,然后我可以从该 pod 创建一个“服务”并引用 MySQL 服务名称?
谢谢!
解决方案
在一个 pod 中设置 2 个“业务”容器是一种非常糟糕的做法(单独扩展你的东西比扩展所有东西要好,pod 可以在不同的主机上启动,...)。
无论如何,跨容器的 pod 共享网络,因此localhost
如果您真的想在一个 pod 中设置所有内容,则可以将其用作主机名。
但是是的,最好为 mysql 设置 1 statefulset 并在 php-fpm 中使用名称
推荐阅读
- javascript - 是否可以创建一个刷新单个 vueJS 组件的方法?
- ios - 马上转到下一个 ViewController?
- reactjs - React Redux - 错误:无效的钩子调用。Hooks 只能在函数组件的主体内部调用
- encoding - 使用 EncodeForHTML 时的 Coldfusion/Lucee 编码问题
- powershell - 如何在 web.config 文件中更新 Powershell 中的更改值?
- python - 显示语法错误的解决方案是什么?
- basic-authentication - 具有基本身份验证的 Nginx Ingress 会中断预检请求
- reactjs - 在一个 React 组件中使用多个“useContext”
- asp.net - 具有多个域的 IIS URL 重写
- asp.net - 在 aspx 中的错误列后在剑道上传时引发错误消息