I've been using virtual machines (via VirtualBox) for Linux-based testing and development for sometime but I've been persuaded that it's high-time I joined everyone else and started using containerisation.
I started by looking into whether Docker or Singularity would be best for me. After much reading and talking to colleagues I concluded that Singularity would be much better however it is undergoing rapid development (very frequent releases, often with significant security fixes) and Docker has a larger community and eco-system around it at the moment.
Right, on to getting this thing working. First thing to do is install the Community Edition of Docker. For Debian this means adding the Docker repositories and several dependencies are mentioned on the relevant documentation page. First thing is to check if those dependencies are already installed:
If any are missing, install them:
Add the repository, I created it in
Next I installed Docker:
I opted not to add my user to the docker group for this reason (from the install documentation):
The docker group grants privileges equivalent to the root user.I have sudo setup to require a second factor, adding the user I normally use to the docker group would completely defeat the purpose of protecting root access with more than just my own password.
Finally, I tested docker was up and running with the hello-world container:
I do need to write a follow up post on creating my first containers with it, now it's installed.