我已经将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公开。提前致谢。
最佳答案
看来目前,wrecker不支持配置容器/图像的这一方面。
就是说,不必在镜像本身中配置暴露的端口,因为您可以在运行/启动时执行此操作:
docker run --detach --publish 3000:3000 --env PORT=3000 image-name
上面的代码公开了端口3000,并将容器内的
$PORT
环境变量设置为3000,这是告诉应用程序监听端口3000的常用方法。