wrapping-clojure-tooling-in-containers
wrapping-clojure-tooling-in-containers copied to clipboard
Example of a Clojure development environment inside a Docker container
Example of Wrapping Clojure Development Tooling in a Containers
Code demo for my talk "Wrapping Clojure Development Tooling in a Containers".
Provides Make targets for building and running the Clojure developer shell within the accompanying Docker container.
Presentation
Blog post and see the recording of the presentation from Clojure/conj 2015.
Make Variables
TAG
The tag to give the docker container. You may want to change this if you want to use this template for your own project
NAME
The name of the container when it is running.
WEB_PORT
The port your web application runs on inside the docker container.
Make Targets
docker-build
Builds the Clojure development Docker container for this project, installing on the required dependencies.
docker-clean
Deletes the docker image entirely for this project. Useful if you want to rebuild from scratch.
shell
Starts a development shell, with Java 8, and Leiningen, oh-my-zsh and the lein plugin already installed.
This will likely only work on Linux in it's current form - but could be edited to work on OSX (PRs welcome).
shell-attach
Attach a new terminal to an already running development shell
shell-mount-jvm
Mount the development shell to the local /tmp directory via sshfs
chrome
Opens up chrome to the local port that is forwarded for port 8080 on the host.
emacs
Uses Xpra to open up emacs as a gui on the host.
emacs-attach
If you get disconnected from Xpra, this will reattach you to the session
install-ubuntu-dependencies
Installs Xpra (version 0.15.7), assuming you are running Ubuntu.
src-reset
Reset everything back to the original version (last git commit)
Licence
Apache 2.0
This is not an official Google Product.