使用 Docker 映射 Compute Engine 中的端口

Sma*_*ajl 5 google-compute-engine docker spring-boot google-cloud-platform

我有一个在 Google Compute Engine 上运行的 docker 镜像。该映像包含在端口 9000 上运行的 Spring Boot 应用程序。

它是公开的http://<ip>:9000,我可以毫无问题地访问。我正在尝试将暴露的端口80配置为将 DNS 记录配置为仅指向 IP 地址。

我的问题是如何实现这一点,因为文档让我感到困惑。我正在使用在线 GCP 控制台(Web 界面)进行部署,并且没有字段指定docker run -p 9000:80可以解决我的问题的命令(如果有,请纠正我)。

那么我需要在 Spring Boot 设置中重新映射端口吗?还是在 Docker 容器内?还是我想在 GCP 中配置一些转发规则?感谢您的澄清!

我的DOCKER文件如下所示:

FROM gcr.io/distroless/java
VOLUME /tmp
ADD build/libs/*.jar app.jar
ENV JAVA_OPTS=""
ENTRYPOINT ["java","-jar","app.jar"]
Run Code Online (Sandbox Code Playgroud)

我正在使用 GCP 的容器优化操作系统。

Sma*_*ajl 0

我通过将 Spring Boot 端口映射到生产配置文件中的端口 80 解决了我的问题。

这使我能够将 DNS 记录映射到原始 IP 地址,而无需进行任何额外的配置。