K8S中的hostPort、NodePort 、targetPort、port、containerPort 的区别

Dockerfile的EXPOSE

Dockerfile中端口的声明:

EXPOSE <端口1> [<端口2>...]

所以:EXPOSE的

第一个作用:只是说明docker容器开放了哪些端口,并没有将这些端口实际开放了出来!更多的作用是告诉运维人员或容器操作人员我开放了容器的哪些端口,只是一种说明。

第二种作用:Dockerfile中声明了EXPOSE端口之后,我们使用-P命令进行随机映射的时候,会映射到EXPOSE声明的端口。比如说我们现在对一个tomcat容器进行EXPOSE 8080声明,那么我们进行-P随机映射的时候是会映射到8080端口。

hostPort

在 Kubernetes 中,hostPort 是一种用于将主机上的特定端口映射到运行在 Pod 内部容器的端口的配置选项。通过使用 hostPort,你可以在主机上暴露容器的服务,从而允许外部网络通过主机的 IP 地址和指定的端口访问容器内的应用程序

## 官网
https://kubernetes.io/zh-cn/docs/concepts/configuration/overview/

## 参考
https://www.cnblogs.com/zhangmingcheng/p/17640118.html

xx.yaml

​
apiVersion: 

你可能感兴趣的:(Kubernetes,kubernetes,容器,云原生)