Docker kubernetes-使用同一pod上其他容器的端口设置环境变量
我想以编程方式与同一pod中的容器通信 因此,我决定将辅助容器(本例中为bar1容器和bar2容器)的端口设置为主容器(即foo容器)的环境变量 但是,我无法确定如何传递.yaml文件中用于部署配置的辅助端口的暴露端口,这些端口可以隐式地Docker kubernetes-使用同一pod上其他容器的端口设置环境变量,docker,kubernetes,environment-variables,yaml,Docker,Kubernetes,Environment Variables,Yaml,我想以编程方式与同一pod中的容器通信 因此,我决定将辅助容器(本例中为bar1容器和bar2容器)的端口设置为主容器(即foo容器)的环境变量 但是,我无法确定如何传递.yaml文件中用于部署配置的辅助端口的暴露端口,这些端口可以隐式地 apiVersion:apps/v1#对于1.9.0之前的版本,请使用apps/v1beta2 种类:部署 元数据: 名称:测试部署 规格: 副本:1份 模板: 元数据: 标签: 应用程序:web 层:前端 规格: 容器: #只有容器暴露在吊舱外 -名称:fo
apiVersion:apps/v1#对于1.9.0之前的版本,请使用apps/v1beta2
种类:部署
元数据:
名称:测试部署
规格:
副本:1份
模板:
元数据:
标签:
应用程序:web
层:前端
规格:
容器:
#只有容器暴露在吊舱外
-名称:foo容器
图片:富
环境:
-名称:BAR_1_端口
#如何在这里隐式获取端口???
价值:XXXX
-名称:BAR_2_端口
#如何在这里隐式获取端口???
价值:XXXX
端口:
-名称:https
集装箱港口:443
-名称:http
集装箱港口:80
#分包商1
-名称:bar1容器
图片:bar1
#分包商2
-名称:bar2容器
图片:bar2
我想知道是否有一种方法可以使用像${some variable or so here}
这样的端口,而不是5300
、80
、9000
或从容器中暴露的任何端口
注意:我故意没有在上面的yaml配置中指定辅助容器的
端口
或容器端口
值,因为它们不会暴露在pod之外。您在这里混合容器、pod和服务。如果在同一个pod中有多个容器,要在它们之间通信,根本不需要服务,还需要将其指向主机名,因为它们共享相同的网络命名空间。您只需在特定服务正在侦听的端口上连接到localhost
。例如,您可以让nginx container(监听80)通过localhost:9000
连接到php-fpm的第二个containers服务,感谢localhost
这一点,我们将为其编辑问题。但是,从您的回答中,我是否应该推断出php fpm
的端口9000
仍然不能隐式设置为环境变量?当您将容器组合到pod中时,您提前知道它们将如何运行(它们将使用哪些端口),因此如果您的服务需要通过env var知道这一点,您应该按照定义在其上运行的方式对其进行硬编码