Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 通过wercker.yml公开应用程序的端口_Node.js_Docker_Strongloop_Wercker - Fatal编程技术网

Node.js 通过wercker.yml公开应用程序的端口

Node.js 通过wercker.yml公开应用程序的端口,node.js,docker,strongloop,wercker,Node.js,Docker,Strongloop,Wercker,我已将我的wercker.yml配置为使用NodeJS框,安装StrongLoop并运行npm安装,如下所示: box: nodesource/node:trusty build: steps: - script: code: | npm install -g strongloop - npm-install 我想获取生成的容器,在我的服务器上运行它,然后启动我的应用程序。但是,默认情况下,当我下载并运行容器时,所需的端口(3000)不会

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

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

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

此时,wercker似乎不支持配置容器/映像的这一方面

也就是说,无需在映像本身中配置公开端口,因为您可以在运行/启动时进行配置:

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

上面公开了端口3000,并将容器内的环境变量设置为3000,这是通知应用程序侦听端口3000的常用方式。

此时,wercker似乎不支持配置容器/映像的这一方面

也就是说,无需在映像本身中配置公开端口,因为您可以在运行/启动时进行配置:

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

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

有些不相关,但对于应用程序容器来说,安装整个strongloop工具套件似乎有点过分。如果您只需要运行
slc run
,只需将其更改为
sl run
。如果你不使用
slc
运行你的应用程序,你就不需要这些。谢谢你的提示。这让我的构建缩短了几分钟。有些不相关,但对于应用程序容器来说,安装整个strongloop工具套件似乎有点过分。如果您只需要运行
slc run
,只需将其更改为
sl run
。如果你不使用
slc
运行你的应用程序,你就不需要这些。谢谢你的提示。这使我的身材缩短了几分钟。