Creating a Docker Build Lab with Jupyter

In keeping with my "Jupyter with everything" moniker (not to mention Docker, Docker, Docker), I recently had the opportunity to create and run a Docker Build Lab with about 20 participants.

To actually create the Docker Lab I used Jupyter with the bash_kernel to create and document the examples.

Using Jupyter was extremely useful - especially when ill, sat in a hotel room finishing the lab (work was crazy in the weeks before the conference).  It becomes extremely easy and fast to rerun the entire notebook to be sure that everything works and recreate a printable document for use.

Although the lab execution was performed in RHEL7.1 virtual machines, I prepared the lab on a Windows PC running a Ubuntu-LTS via Vagrant.  This worked perfectly - though some students were confused to see mention of 'vagrant' user within the lab document (I'll have to be a bit more rigourous on that next time).

I had some small problems creating a lab document which I wanted to be able to distribute in class as a PDF..
I had trouble producing a PDF (well I could just print the notebook in Jupyter but the stylesheet was causing this to print without colour which made it less readable - hacked around this to print to PDF).
My hack worked and so I could distribute a colour PDF.

I decided to archive to github the Jupyter notebook (.ipynb) also exported as HTML and markdown(.md) aswell as the PDF.

The lab is here
This is actually a clone of the repo I used (whence some links may go to the original version) as I want to work this lab as a series of labs in future conferences.

This was definitely a beta run.

I'd like to break this lab down into several labs
- Docker build essentials: focussing more on the low-level details
- Building an application: going step by step to building an orchestrated solution

Hopefully I'll get the chance to rerun this at MixIT here in France in April, or at HPE TSS in June.

Suggestions for improvement are more than welcome.


Popular Posts