EDIB mix task
A mix task for EDIB (elixir docker image builder).
TOC
EDIB creates a docker image of your application release.
Install
mix archive
Just run this and confirm:
mix archive.install http://git.io/edib-0.5.1.ez
And don't forget to add exrm to your project:
defp deps do
[
{:exrm, "~> 0.19"}
]
endOr as project dependency
In mix.exs:
defp deps do
[
{:exrm, "~> 0.19"},
{:edib, "~> 0.5"}
]
endThen run:
mix deps.get edib && mix deps.compile edibUsage
mix edibHelp
mix help edibOptions
# Override the (repository) name of the docker image
mix edib --name <NAME>
mix edib -n <NAME>
# Set only a specific prefix for the docker image name (default: local)
mix edib --prefix <PREFIX>
mix edib -p <PREFIX>
# Set a specific tag for the docker image
mix edib --tag <TAG>
mix edib -t <TAG>
# Silence build output of EDIB (will be logged to `.edib.log` instead)
mix edib --silent
mix edib -s
If --name and --prefix are given, the name option takes precedence
(prefix will be ignored).
# Map additional volumes for use while building the release
mix edib --mapping <FROM>:<TO>[:<OPTION>]
mix edib -m <FROM>:<TO>[:<OPTION>]For common cases there are some mapping shorthands:
# Include the host user's SSH keys for private GitHub repositories:
mix edib --ssh-keys
# Include host user's .hex/packages cache
#
# Can improve build times when the host's .hex cache is available for
# every build run (tip for Travis CI: use their directory caching)
mix edib --hex
# Include host user's .npm package cache
#
# Can improve build times when the host's .npm cache is available for
# every build run (tip for Travis CI: use their directory caching)
mix edib --npmDocker flags (mostly for debug purposes):
# Run the build step privileged
mix edib --privileged
# Do not remove intermediate containers on build runs
mix edib --no-rm