如果Dockerfile描述为EXPOSE,是否需要在K8s中定义ports.containerPort

时间:2019-09-19 06:54:58

标签: docker kubernetes kubernetes-container

我有Helm使用的旧版find . -type f -print0 -exec file {} \; | gawk -F\: '/Mach-O .* executable/ {print $1}' |xargs chmod 755 ,到目前为止运行良好。

Deployment.yaml

这部分以前是错误地设计的。因此据我所知,其中的 containers: ports: - containerPort: 3000 部分没有处于活动状态或未在k8中使用。

那么现在让我感到奇怪的是,容器在整个时间如何一直运行并在端口3000上可访问?因此,我寻找了另一个描述此端口的定义。

我在ports

中找到了它
Dockerfile

我的问题是-您需要在.yaml配置中定义 EXPOSE 3000 还是通过port.containerPort EXPOSE 暗示容器端口为3000 >声明?

感觉好像k8s知道这应该是容器端口,因为Dockerfile描述了它。

1 个答案:

答案 0 :(得分:3)

否,EXPOSE与此无关,只有一个容器将使用port 3000的信息给您。配置来自containerPort

对于k8s,请参见this

对于expose,请参见this