kubernetes如何动态公开我的docker端口?

时间:2017-01-31 15:41:38

标签: docker kubernetes dockerfile

我有一个ruby应用程序的dockerfile,它在端口5000上运行puma服务器。(它EXPOSE端口并使用RUN命令运行puma -p 5000。

在我的deployment.yaml中,我必须将containerPort设置为5000以匹配此端口。

我觉得我的配置在两个不同的地方列出了端口,这似乎很奇怪。如果我需要更改端口,则意味着我在多个位置更改配置,这违反了12因素应用程序的原则,其中配置都在同一个地方。

有没有办法只在一个地方设置端口?

1 个答案:

答案 0 :(得分:1)

在您的deployment.yaml中,您实际上不必指定containerPort;所有端口都暴露在外。来自docs

  

ports ContainerPort数组

     

要从容器中公开的端口列表。在此处公开端口可为系统提供有关容器使用的网络连接的其他信息,但主要是信息性的。此处未指定端口不会阻止该端口暴露。任何正在侦听默认值的端口" 0.0.0.0"可以从网络访问容器内的地址。无法更新。