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

时间:2018-03-19 14:34:54

标签: docker google-cloud-platform google-compute-engine google-kubernetes-engine google-container-os

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

同时在创建实例时,我已经允许“https”和“http”流量。

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

2 个答案:

答案 0 :(得分:3)

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

来自相关的gcp docs

  

容器化VM启动容器,网络设置为主机模式。   容器共享主机网络堆栈,以及来自的所有接口   主机可用于容器。

有关不同网络模式here的详细信息。

答案 1 :(得分:0)

除了@Stefan R所说的,你还应该使用大于1000的PORT号码,因为自动部署的容器映像不能以root身份运行,因此无法访问特权端口。

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