EXPOSE 声明端口
核心概念
# 声明容器监听的端口(仅文档作用)
EXPOSE 80
EXPOSE 443
EXPOSE 8080/tcp
EXPOSE 9090/udp
EXPOSE vs -p
# EXPOSE:声明,不实际映射
EXPOSE 80
# -p:实际映射端口
docker run -p 8080:80 my-app
最佳实践
# 在 Dockerfile 中声明
EXPOSE 3000
# 运行时映射
docker run -p 3000:3000 my-app
# EXPOSE 是文档,告诉用户容器用哪个端口
小结
| 语法 | 说明 |
|---|---|
EXPOSE 80 | 声明端口(文档) |
-p 8080:80 | 实际映射 |