Why Build a New Image?

Unless I suck at googling (which I’m pretty sure I don’t), you’d be hard-pressed to find a solid python Dat-Sci image with all of the bells and whistles of the Jupyter Notebooks image plus CUDA and cuDNN with Python3.6. So I figured this is a good opportunity to learn and build one.

My requirements:

Python 3.6 (I built a bunch of libraries that use f string formatting which I didn’t know is new in 3.6)

Jupyter Notebooks

Common Dat-Sci python libraries preinstalled

Nvidia CUDA and cuDNN support

TensorFlow-GPU

Keras

So after a ton of trial and error, I’ve completed testing my Dockerfile and am uploading my docker image to DockerHub (as I write this). Be warned, it’s close to 6GB.

Docker containers are hardware agnostic, meaning that they natively can’t use anything outside of base system hardware (CPU, RAM, HDs), so in order for your docker containers to make use of your fancy pants video card, you are going to need nvidia-docker, a docker library/wrapper written by Nvidia to allow containers to utilize your GPU.

If you’ve followed along with everything we’ve done in Step 2 of this series, the install should be straightforward.