前段时间我发现了一个自动检测应用程序语言的应用程序或Docker镜像。一旦检测到语言,它将自动为该应用程序设置Docker容器,例如安装Node.js并运行主文件。
有人知道这个应用程序或Docker镜像的名称吗?
答案 0 :(得分:0)
我还没有找到一个完全自动化的版本,但phusion's passenger-docker非常受欢迎,并且很容易设置Ruby,Python和Node应用程序。
答案 1 :(得分:0)
我发现的第一个这样的图像是buildstep。
Buildstep利用Heroku开创的一个聪明的想法,称为buildpacks,创建一个与语言无关的应用程序部署过程。
Buildstep是为非常聪明的Dokku PAAS提供动力的核心技术之一。
Centurylink创建了他们自己的buildstep外观,称为building:
tutum cloud也是如此
buildstep的作者参与了Flynn项目,该项目有时被称为slug builder和runner(再次使用Heroku buildpacks)
Docker发布了许多特定于语言的Docker容器,旨在使构建应用程序变得更加容易。这些映像旨在使用特殊的ONBUILD instruction。
针对本地源代码存储库构建以下是Nodejs图片:
我们的想法是在源代码的根目录中创建一个非常简单的Docker文件:
FROM node:0.10-onbuild
EXPOSE 8888
并简单地构建并运行容器。源代码是神奇地打包的:
docker build -t my-nodejs-app .
docker run -it --rm --name my-running-app my-nodejs-app
Redhat有一种替代的图像构建方法,称为STI(Source to image)。
与Docker的语言堆栈类似,STI也不使用buildpacks。它提供了一个约定和一组命令,可用于控制应用程序包装的所有方面作为docker容器。这项技术是他们下一版Openshift V3的主要部分: