Google 云 - 从 GCR 部署为容器 - docker 容器中未公开的端口

Google Cloud - Deploy as Container from GCR - Ports not exposed in docker container

我创建了一个 GCP VM 实例,选项 Deploy as Container 指向我私有 GCR(nginx 自定义)中的图像。

此外,在创建实例时,我已经允许 'https' 和 'http' 流量。

虽然应用程序运行良好,但通过 ssh 连接实例并检查 docker 容器 (docker ps) 我看到容器端口没有暴露。想知道这里的容器如何通过实例处理 http/https 请求?

当您在 GCE 中使用部署容器选项时,它会运行 docker 并访问主机网络。

来自相关 gcp docs :

Containerized VMs launch containers with the network set to host mode. A container shares the host network stack, and all interfaces from the host are available to the container.

关于不同网络模式的更多详细信息here

除了@Stefan R 所说的以外,您还应该使用大于 1000 的端口号,因为自动部署的容器映像不是 运行 根用户,因此无法访问特权端口。

https://www.staldal.nu/tech/2007/10/31/why-can-only-root-listen-to-ports-below-1024/

https://www.google.co.in/search?q=privileged+ports+linux&oq=privileged+ports+linux