【问题标题】:Expose Port for App via wercker.yml通过 wercker.yml 为 App 公开端口
【发布时间】:2015-06-26 05:08:09
【问题描述】:

我已将 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 之后公开它。提前致谢。

【问题讨论】:

  • 有点不相关,但安装整个 strongloop 工具套件对于应用容器来说似乎有点过分。如果您所做的只是运行slc run,则只需要strong-supervisor,只需将其更改为sl-run。如果您不使用 slc 来运行您的应用程序,则您不需要任何它。
  • 感谢您的提示。这让我的构建时间缩短了几分钟。

标签: node.js docker strongloop wercker


【解决方案1】:

目前看来,wercker 不支持配置容器/镜像的这方面。

也就是说,没有必要在映像本身中配置公开的端口,因为您可以在运行/启动时这样做:

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

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

【讨论】:

    猜你喜欢
    • 2020-07-19
    • 1970-01-01
    • 2023-01-08
    • 2022-12-12
    • 2016-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-05
    相关资源
    最近更新 更多