This image is based on shanesveller/elixir-lang and includes the features of that image.
At the time of writing, this Dockerfile results in an image that also contains:
- NodeJS 0.12.x (installed via NodeSource's APT repository)
- npm 2.10.1
It also includes the following ONBUILD steps for convenience of use as a base image itself:
- Creates a working directory for your app at
/usr/src/app - Adds files like
package.jsonandbrunch-config.jsand installsnpmdependencies - Sets
MIX_ENVtoprod - Copies files needed to determine Mix config and dependencies, then downloads and compiles those dependencies
All of the above occur before any custom instructions in a child Dockerfile that uses FROM to inherit from this one.
Want to check the current versions included in the latest image in light of future rebuilds?
docker run -it --rm shanesveller/elixir-lang apt-cache policy nodejs
MIX_ENVis set toprodglobally for all commands run in the Docker container, unless overridden on a per-command basis or a laterENVDockerfile instruction- When building your own apps based on a third party's Docker image, you should make note of any
ONBUILDinstructions in the base image'sDockerfile, as these are executed dynamically while building your app, prior to ANY of the instructions in your ownDockerfile.
Not happy with the Dockerfile steps? Having compatibility problems? Try one of these alternatives: