寻找能够自动检测应用程序语言的Docker镜像

时间:2015-04-04 17:00:35

标签: node.js docker

前段时间我发现了一个自动检测应用程序语言的应用程序或Docker镜像。一旦检测到语言,它将自动为该应用程序设置Docker容器,例如安装Node.js并运行主文件。

有人知道这个应用程序或Docker镜像的名称吗?

2 个答案:

答案 0 :(得分:0)

我还没有找到一个完全自动化的版本,但phusion's passenger-docker非常受欢迎,并且很容易设置Ruby,Python和Node应用程序。

答案 1 :(得分:0)

自动检测应用程序语言

Buildstep

我发现的第一个这样的图像是buildstep。

Buildstep利用Heroku开创的一个聪明的想法,称为buildpacks,创建一个与语言无关的应用程序部署过程。

Buildstep是为非常聪明的Dokku PAAS提供动力的核心技术之一。

Buildstep衍生物

Centurylink创建了他们自己的buildstep外观,称为building:

tutum cloud也是如此

Buildstep灵感

buildstep的作者参与了Flynn项目,该项目有时被称为slug builder和runner(再次使用Heroku buildpacks)

使用基本图像的替代方法

Docker官方图片

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

Redhat有一种替代的图像构建方法,称为STI(Source to image)。

与Docker的语言堆栈类似,STI也不使用buildpacks。它提供了一个约定和一组命令,可用于控制应用程序包装的所有方面作为docker容器。这项技术是他们下一版Openshift V3的主要部分: