我通过Dockerfile公开端口80在docker容器上本地运行的apache2创建了一个映像。然后推送到我的DockerHUB存储库
我在Google Cloud的项目中创建了一个新的Container Engine实例。在此我有两个群集,主和 Node1 。 然后创建一个Pod,在DockerHUB中指定我的图像名称,并为 6379 和 80配置端口“containerPort”和“hostPort” 分别。
通过SSH和命令行访问Node1:$ sudo docker ps -l
然后我发现我的docker容器存在。
我创建了一项服务,例如通过配置Pod中的端口,“containerPort”和“hostPort”,用于 6379 和 80 分别。
我检查了防火墙是否可以访问端口80.即使没有必要,我创建了一个允许通过端口6379访问的规则。
但是当我输入http://IP_ADDRESS:PORT
时无法使用。
对于它的错误有任何想法吗?
答案 0 :(得分:0)
如果您使用服务访问您的pod,则应将服务配置为使用外部负载均衡器(类似于留言板示例中所执行的操作frontend service definition),您不需要在pod定义中指定主机端口。
创建外部负载均衡器后,您应该打开防火墙规则以允许外部访问负载均衡器,从而允许数据包到达群集中运行的服务(以及支持它的pod)。