gpt4 book ai didi

docker - 使用 Docker 映射 Compute Engine 中的端口

转载 作者:行者123 更新时间:2023-12-02 08:43:52 25 4
gpt4 key购买 nike

我有一个在 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"]

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

最佳答案

tldr:你不能

当您以这种方式在计算引擎中部署容器时,docker网络位于 host network mode ,这意味着 ( doc ) : a container shares the host's network stack and all interfaces from the host are available to the container.

因此计算引擎将直接在他自己的接口(interface)上公开容器端口。因此,您必须配置容器以公开正确的端口。

关于docker - 使用 Docker 映射 Compute Engine 中的端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52265028/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com