Java Spring 使用 Dockerfile 启动随机端口

Java Spring Boot Random Port with Dockerfile

如果您使用 Java Spring 引导,您可以将应用程序运行的服务器端口设置为任何端口,也可以设置为随机端口:

server:
  port: 0

但是,当我现在为我的应用程序使用 Dockerfile 时,我不知道 EXPOSE 的哪个端口。有什么办法可以找到这个端口吗?

当你启动一个应用程序时,我想你可以在控制台看到。据我所知 docker 使用 8080 或 8081。

编辑 1: 检查这个 -> link

您可以通过 Docker 文件或使用 --expose 公开端口,然后使用 -P 标志发布它。这会将暴露的端口绑定到随机端口上的 Docker 主机(由 运行 docker 容器 ls 验证)。

您可以通过 Docker 文件或使用 --expose 公开端口,然后使用 -p 80:80 标志发布它。这会将暴露的端口绑定到端口 80 上的 Docker 主机,并且它预计暴露的端口也是 80(根据需要使用 HOST:CONTAINER 进行调整)。

你可以忽略暴露任何东西,只使用 -p 80:80 在这种情况下,这兼作暴露和发布端口。

  1. 不要为 Spring 应用程序使用随机端口。使用默认端口并让 Docker 将其公开为您喜欢的任何端口。
  2. 不要为 Spring 应用程序使用随机端口。通过环境变量指定它并让 Docker 提供。