A docker image that can be used as a Leiningen CI build container, as well as development. Contains the most recent version of lein used at the time of building the image.
Using for development
You can run the image for use in development, for example, running your tests by doing the following:
$> docker run --rm -v [path-to-your-src]:/src ryanbaldwin/alpine-lein2-ci lein test
When mounting your host source path to the container you can run any lein command you want. The container will exit when the command finishes running. This includes doing a
lein ring server or
lein run, etc.
Of course, this can be a bit of a slow process if you're doing a lot of development and don't want to wait around to download all jars everytime you want to run a test in a clean container. There is where creating a data volume can come into play to help you out.
$> docker run --name container-volumes -v [path-to-your-src]:/src ryanbaldwin/alpine-lein2-ci /bin/bash $> docker run --rm --volumes-from container-volumes ryanbaldwin/alpine-lein2-ci lein test
This will download all the jars on the first run of
lein test, but will cache those jars in the
container-volumes, making each subsequent
lein test much faster than the first.