【问题标题】:need for Node.js docker image that run the app when start需要在启动时运行应用程序的 Node.js docker 映像
【发布时间】:2016-11-24 21:52:38
【问题描述】:

我正在使用 AWS Elastic Beanstalk 多容器环境。

问题出在使用图像 node:0.12 或 node:argon 时

容器启动然后立即关闭。

node:argon "node" 大约一分钟前退出 (0)

经过调查,我们发现我们必须使用一些命令构建自己的映像,这些命令将在容器初始化时启动应用程序。

我的问题是:

是否有任何公共节点图像可以做到这一点?

我们不想创建私有存储库或构建任何图像。

【问题讨论】:

    标签: node.js amazon-web-services docker amazon-elastic-beanstalk


    【解决方案1】:

    以下是使用 argon docker 镜像的简单教程。

    https://nodejs.org/en/docs/guides/nodejs-docker-webapp/

    示例 docker 文件:

    FROM node:argon
    
    RUN mkdir -p /usr/src/app
    WORKDIR /usr/src/app
    
    COPY package.json /usr/src/app/
    RUN npm install
    
    COPY . /usr/src/app
    
    EXPOSE 8080
    
    CMD [ "npm", "start" ]
    

    【讨论】:

    • 感谢您的回答 .. 但不幸的是,Elastic Beanstalk 不支持 Dockerfile .. 它适用于另一种名为 Dockerrun.aws.json 的文件格式。
    • 您可以在 .zip 文件中同时提供 dockerfile 和 dockerrun.aws.json 。 EBS 将从 dockerfile 构建镜像。
    • 哦,我错过了多容器部分。在这种情况下,您需要构建图像。否则你将如何将代码放入 docker 镜像中?
    • 通过 dockerrun.aws.json 文件 "volumes" 中的 "volumes" 将代码放入 docker 映像中: [ { "name": "node-app", "host": { "sourcePath": "/var/app/current/node-app" } } ] 和 "containerDefinitions": [ { "name": "node-app", "image": "node:0.12", "essential": false, "memory ": 512, "mountPoints": [ { "sourceVolume": "node-app", "containerPath": "/var/app/" } ] }
    • 使用 dockerfile 自定义图像比寻找现成的图像更容易。如果配置发生变化或需要安装额外的东西,你会怎么做?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多