通过 wercker.yml 为应用公开端口

Expose Port for App via wercker.yml

我已将 wercker.yml 配置为使用 NodeJS 框并安装 StrongLoop 和 运行 npm-install,如下所示:

box: nodesource/node:trusty
build:
  steps:
    - script:
        code: |
          npm install -g strongloop
    - npm-install

我想获取生成的容器,运行 它在我的服务器上,然后启动我的应用程序。但是,默认情况下,当我下载和 运行 容器时,所需的端口 (3000) 公开。有没有办法让我通过 wercker 配置公开这个端口,或者我是否需要准备我自己的带有 StrongLoop 的盒子和公开的端口 3000 以便在 wercker 中使用,或者使用 wercker 生成的容器并使用 Dockerfile 来公开它。提前致谢。

目前看来,wercker 不支持配置 container/image 的这一方面。

也就是说,没有必要在映像本身中配置公开的端口,因为您可以在 run/launch 时间进行配置:

docker run --detach --publish 3000:3000 --env PORT=3000 image-name

上面暴露了3000端口,并将容器内的$PORT环境变量设置为3000,这是告诉应用监听3000端口的常用方式。