使用Docker容器查看Java自由Bluemix应用程序时出现502错误

时间:2016-05-17 12:56:54

标签: java docker ibm-cloud websphere-liberty devops

我在Bluemix上创建了一个Java Liberty应用程序,并从链接到该应用程序的JazzHub Git存储库中克隆了示例代码。 然后我将JavaHelloWorldApp.war文件复制到示例代码的基本目录中,并使用以下文本创建了一个Dockerfile:

FROM registry.ng.bluemix.net/ibmliberty:javaee7
ADD JavaHelloWorldApp.war /opt/ibm/wlp/usr/servers/defaultServer/dropins/

我设置了DevOps管道来构建一个图像,然后根据这个示例Node.js应用程序创建一个容器:https://hub.jazz.net/deploy/index.html?repository=https://github.com/Puquios/hello-containers

应用程序成功构建和部署,但是当我查看新容器应用程序的URL时收到以下错误:

  

502 Bad Gateway:已注册的端点无法处理请求。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

502错误表示路由器无法从您的组中的容器获得响应。造成这种情况的原因有两个:

  1. 您的容器没有响应或
  2. 存在路由错误,您的容器运行正常。
  3. 要测试#1,您需要使用cf ic将IP地址绑定到正在运行的容器,然后卷曲该IP地址:port以查看容器是否正在响应。

    步骤:

    1. 如果需要,安装cf和cf ic插件。
    2. cf login
    3. cf ic login
    4. cf ic ps

      ---这将为您提供容器ID。如果您有多个正在运行的容器,则可以执行cf ic inspect [container-ID]以查看哪个容器在您的组中。它还会显示端口

    5. cf ic ip request

      ---这会给你一个IP地址

    6. cf ic ip bind [IP地址] [container-ID]

    7. 现在转到[IP地址]:[端口],看看是否可以访问您的应用程序。

      如果您可以通过IP地址访问您的应用程序,请告诉我,我可以跟进路由器问题。