Last week I organized a hacking session for my team at work. We ordered pizzas and we stayed a couple of hours extra to have a look at Docker. For some people this was completely new, for some others not as much. The feedback however was positive overall.

Here’s what we covered initially:

  • Docker introduction and some concepts. What is Docker? What is a Docker image? What is a Docker container?
  • Hands on (after all this is a hacking session): Install Docker on our laptops and run the hello world (some folks had Windows 7 laptops so they installed Docker Toolbox instead).
  • Introduction to Dockerfile. We went over the instructions. We discussed ports, volumes, environment variables and base images.
  • Introduction to Docker Store (formerly Docker Hub). Discussed certified images, popular images, etc.

From there, we created a simple Spring Boot application and dockerized it (following this guide from Spring):

  • First, we created a hello world Spring Boot web application. To some people this was also new, so we stayed on this point for a bit longer.
  • We created a Docker image for the app using Docker's CLI.
  • We created a Docker image for the app using the Spotify Maven plugin.
  • Finally, we published the custom Docker image to AWS ECR.
  • Just when we ran out of time, we briefly took a glance at docker-compose as well.

In my opinion, the success of a hacking session depends on the participation of the joiners (and that’s why our session turned out quite nice). This is not like a meetup where you go and hear someone speaking. In a hacking session, you have to join with a hands on experimenting mentality. You type, you search, you figure it out, you learn, you have fun!

(The photo is from the 1995 movie Hackers, but you already knew that)