As a developer, one of the challenges is the ability to work on new and old code bases. This typically requires carefully installing multiple versions of the same software; and hoping they don't collide. An alternative is to run the development software in isolation, such as in a Docker container. These Elm Docker images make it possible to run various versions of Elm on the same system without conflict.
Using this container is super simple, since the Docker entrypoint is set to elm-make. Here's an example using Elm 0.18.0:
docker run --rm -it -v $PWD:/source emmanuelrosa/elm-make:0.18.0 Main.elm
That command would compile Main.elm to index.html. To do this, the current directory is mounted to /source, which is the container's working directory.