README.md
# ExrmDocker
Create a Docker image from your Elixir release
## Usage
To create a new Docker image simply run:
```shell
mix release --docker
```
This will output the `docker build` result with the created image id.
To specify docker image tag you can use `--tag` option:
```shell
mix release --docker --tag=test:0.3
docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
test 0.3 6d3d5f9abac4 6 seconds ago 224.3 MB
```
by default it uses project name.
Once your image has been built, start a new container.
- `docker run -itd <image_id> console`
Next you can attach to your container.
- `docker attach <container_id>`
And detach using `Ctrl-p Ctrl-q`.
Check below for configuration options.
## Installation
#### Add exrm_docker to your list of dependencies in `mix.exs`:
```elixir
def deps do
[{:exrm_docker, "~> 0.2.1"}]
end
```
## exrm_docker config.exs
Key | Default | Description
---------------- | -------------------------------------------- | ---------------------------------------------------
image | centos | Which image to use
version | nil | Which image version to use
maintainer | nil | Image maintainer
copy_rel | COPY rel /rel | Copy the release to the container
pre_copy | nil | Any Dockerfile commands before copy
post_copy | nil | Any Dockerfile commands after copy
entrypoint | ENTRYPOINT ["rel/#{project}/bin/#{project}"] | Entrypoint of the image
entrypoint_args | nil | Arguments to use for the entrypoint, e.g. 'console'