Docker is a fantastic platform which has changed my workflow for the better. Before Docker, I was using VMWare images and linked-clones to create isolated environments for my experiments. Sharing these was not easy - the file sizes were too large and not everyone has a VMWare license. Performance wasn't great either, and VMWare updates would sometimes cause problems with the image. Before VMWare, I was using MATLAB and directly sharing the scripts for my experiments. This was an unpleasant experience, as each of the many versions of MATLAB (e.g. R2011a, R2011b, R2012a, R2012b, etc.) would break some functionality from one of the toolboxes. Again, not everyone could afford a MATLAB license, and I only had mine as part of my institution.
With Docker, I've moved to using Python's scientific stack and libraries such as TensorFlow and Keras. It took a while to get used to living without the MATLAB IDE, but there was a similar IDE called Spyder, which is a Scientific Python Development EnviRonment. However, I've gotten over the MATLAB IDE since discovering Jupyter. With all these technologies, I can share an environment identical to the one I executed my experiments in, and allow a colleague or reviewer to do the same. My students can also get up and running with the environments needed by my taught units without having to configure everything themselves. The only difficulty I've encountered so far is when someone has a Windows installation which doesn't support Docker for Windows, as Docker Toolbox isn't always a smooth experience.
I've created this video as a brief introduction to Docker, complete with instructions on how to install Docker on macOS, Windows 10, and Ubuntu 16.04:
The aim is to get someone started and tinkering with Docker quickly - I hope it's helpful.
Kernel appears to have died
If your kernel dies when training a network using TensorFlow, then you might need to increase the amount of RAM allocated to Docker. You can do this in the Docker Preferences:
I have Windows 10 Pro/Enterprise/Education, but the installer says I don't meet the minimum requirements
You need to be on Windows 10 build 10586 or newer. You can check your Windows build number by clicking the start-bar and
winver, and pressing the enter key: