【问题标题】:I can not access my Container Docker Image by HTTP我无法通过 HTTP 访问我的容器 Docker 映像
【发布时间】:2015-04-27 21:50:55
【问题描述】:

我通过 Dockerfile 在 docker 容器上本地运行 apache2 创建了一个镜像,暴露了 80 端口。然后推送到我的 DockerHUB 存储库

我在 Google Cloud 上的项目中创建了一个新的 Container Engine 实例。其中我有两个集群,MasterNode1。 然后创建一个 Pod 指定我在 DockerHUB 中的镜像名称,并为 637980 配置端口 "containerPort""hostPort" 分别。

Node1 通过 SSH 和命令行访问:$ sudo docker ps -l 然后我发现我的 docker 容器在那里。 例如,我通过将端口配置为 Pod 中的 "containerPort""hostPort"637980 创建了一个服务 分别。 我检查了防火墙是否可以访问端口 80。即使没有必要,我也创建了一个规则以允许通过端口 6379 访问。

但是当我输入http://IP_ADDRESS:PORT 时不可用。 知道它出了什么问题吗?

【问题讨论】:

  • 您能说明一下您使用的 IP 地址吗?是master节点的IP地址还是node1的IP地址?
  • 您的用例似乎与“Hello Wordpress”入门示例 (cloud.google.com/container-engine/docs/hello-wordpress) 非常相似,您是否尝试过运行以查看它是否适合您?

标签: docker google-kubernetes-engine


【解决方案1】:

如果您使用服务来访问您的 pod,您应该将服务配置为使用外部负载均衡器(类似于留言簿示例的 frontend service definition 中所做的),并且您不需要指定主机端口你的 pod 定义。

创建外部负载均衡器后,您应该打开防火墙规则以允许外部访问负载均衡器,这将允许数据包到达集群中运行的服务(以及支持它的 pod)。

【讨论】:

    猜你喜欢
    • 2020-02-02
    • 1970-01-01
    • 2018-09-07
    • 2022-06-29
    • 1970-01-01
    • 1970-01-01
    • 2019-07-18
    • 1970-01-01
    • 2014-07-11
    相关资源
    最近更新 更多