我从cf ic
命令行中创建一个图像公开 4000 然后通过 apt-get 安装nodejs,并在图像上部署一个nodejs应用程序端口 4000 。
然后我用这个图像创建一个容器,为这个容器分配一个 public_ip 并运行它。
但我发现我无法通过端口[http:// public_ip 4000 ]访问nodejs应用。
当我使用命令行cf ic exec -it container_id bash
登录容器时,我发现nodejs应用程序正在运行,我可以通过curl -GET http://localhost:4000/
访问nodejs app
错误讯息为:net::ERR_CONNECTION_TIMED_OUT
问:如何在容器外部访问我的nodejs应用程序?
答案 0 :(得分:0)
端口4000未暴露给IBM Containers防火墙。
有一组有限的端口暴露,所以我建议您尝试使用其他端口,如3000或5000.出于安全原因,不会发布完整列表。
或者,您可以使用单个容器创建Container Group。在这种情况下,您可以为容器定义一个路径(域),它将自动将所有请求内部路由到您的容器端口(如4000)。
您可以在Bluemix文档中找到有关创建容器组的更多详细信息:
https://console.ng.bluemix.net/docs/containers/container_creating_ov.html#container_group_ov