如果Dockerfile描述为EXPOSE,是否需要在K8s中定义ports.containerPort
我有一个遗留的如果Dockerfile描述为EXPOSE,是否需要在K8s中定义ports.containerPort,docker,kubernetes,kubernetes-container,Docker,Kubernetes,Kubernetes Container,我有一个遗留的Deployment.yaml,由Helm使用,目前运行良好 containers: ports: - containerPort: 3000 这里的这一部分以前是错误的。因此,据我所知,端口部分在k8s中未激活或未使用 所以,现在让我感到惊奇的是,集装箱是如何一直在3000港运行和接近的?所以我寻找另一个描述这个端口的定义 我在Dockerfile EXPOSE 3000 我现在的问题是-您是否需要在.yaml配置中定义p
Deployment.yaml
,由Helm使用,目前运行良好
containers:
ports:
- containerPort: 3000
这里的这一部分以前是错误的。因此,据我所知,端口
部分在k8s中未激活或未使用
所以,现在让我感到惊奇的是,集装箱是如何一直在3000港运行和接近的?所以我寻找另一个描述这个端口的定义
我在Dockerfile
EXPOSE 3000
我现在的问题是-您是否需要在.yaml配置中定义port.containerPort
,或者通过Dockerfile
的EXPOSE语句,容器端口已经暗示为3000
感觉k8s知道这应该是containerport,因为Dockerfile描述了它。否,
暴露
与此无关,只有容器将使用的信息端口3000
。配置来自containerPort
有关k8s
的信息,请参见
有关
expose
的信息,请参见,正如我在中提到的那样。yaml中的端口
列表的索引格式错误,但容器仍然可以访问。你怎么解释呢?容器的默认端口不是3000,是吗?还是K8s自己修复了.yaml?如果这是一个真正的识别错误,那么K8s会给你一个错误,我认为它会拒绝启动。