Looking for a Docker image that automatically detects the application language
A while back I found a application or Docker image that automatically detected the application language. Once it detected the language it would automatically setup the Docker container for that application, for example install Node.js and run the main file.
Does anybody know the name of this application or Docker image?
2 Solutions collect form web for “Looking for a Docker image that automatically detects the application language”
Automatic detection of application language
The first such image I found was buildstep.
Buildstep leverages a clever idea pioneered by Heroku called buildpacks to create a language agnostic application deployment process.
Buildstep is one of the core technologies that powers the very clever Dokku PAAS.
Centurylink created their own buildstep look-alike called building:
And so did tutum cloud
The author of buildstep participated in the Flynn project which built sometime similar called the slug builder and runner (Again using Heroku buildpacks)
Alternative approach using base images
Docker official images
Docker have released a number of language specific Docker containers, designed to make building applications much easier. These images are designed to be built against a local source code repository using the special ONBUILD instruction.
The following is the Nodejs image:
The idea is to create a very simpler Docker file in the root directory of the source code:
FROM node:0.10-onbuild EXPOSE 8888
and simply build and run the container. The source code is magically packaged:
docker build -t my-nodejs-app . docker run -it --rm --name my-running-app my-nodejs-app
Redhat have an alternative approach to image building called STI (Source to image).
Similar to Docker’s language stacks, STI also does not use buildpacks. It provides a convention and set of commands that can be used to control all aspect an application’s packaging as a docker container. This technology is a major part of their next version of Openshift V3:
I haven’t found a completely automated one but phusion’s passenger-docker is pretty popular and easy to set up for Ruby, Python, and Node apps.