Docker and Java, notes from the Montreal JUG presentation

On Thursday the 28th of January 2016, I gave a talk on Docker and Java.

Here are some notes on this presentation.

Get the slides / demos code / comments

Some Docker related tools can’t use the Unix Socket and TLS is a pain for a demo

Well, you see what I mean : sometimes it’d be nice to open a non secured connection to a local Docker daemon (see this jenkins docker plugin issue for example), through a TCP port.

Since you can’t open both secured AND non secured port on the same Docker daemon, then you can use socat to the rescue.

Here is a Docker image to use socat to pipe a Docker unix socket to a TCP non secured port – so that you can still use those tools that require access to a Docker daemon, without disabling your daemon TLS config.

Jenkins has a nice way to extend its Docker image

Using a plugins.txt file, you can easily create a Jenkins Docker image that suits your needs, see this image of Jenkins that embeds few Docker plugins

Conclusion

It was a very nice experience to give this talk in front of the MontrealJUG crowd :

  • a lot of good questions, I learned a few things (TravisCI can build Docker images, I’m not the only one struggling to share docker-machine configurations on several laptops, volume is the one topic that makes everybody anxious : « how can I share them across different hosts ? », « what to use to back them up efficiently ? », etc.)
  • I did not know how long it would take to show all the demos and slides, and I let questions flow as I gave the talk : I was not done after 2 hours, so even if the organizers let me (almost) finish, some attendees got frustrated as they had to return home before the end :-(
  • Internet connection is hard : I could ssh to my azure box (where my daemon was running : to make pull / push fast), but not to the Docker daemon listening on 2376 – always have a VPN connection handy : it saved my talk.

I hope to give another talk there another time !