In this recipe, we learn how to install and use a Docker container running Keras inside a container and access it using Jupyter.
Installing Keras with Jupyter Notebook in a Docker image
Getting ready
Install the latest version of the Docker CLI from https://docs.docker.com/engine/installation/.
How to do it...
In the following section, we will be learning how to install the Docker container.
Installing the Docker container
- Execute the following command on the Terminal to run the container. The container image is available with the tag rajdeepd/jupyter-keras:
docker run -d -p 8888:8888 rajdeepd/jupyter-keras start-notebook.sh --NotebookApp.token=''
- This will install the Notebook locally and start it as well. You can execute the docker ps -a command and see the output in the Terminal, as follows:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
45998a5eea89 rajdeepd/jupyter-keras "tini -- start-not..." About an hour ago Up About an hour 0.0.0.0:8888->8888/tcp admiring_wing
Please note that the host port of 8888 is mapped to the container port of 8888.
- Open the browser at the following URL http://localhost:8888:
You will notice that Jupyter is running. You can create a new Notebook and run Keras-specific code.
Installing the Docker container with the host volume mapped
In this section, we look at how to map the local volume $(pwd)/keras-samples to the work directory in the container.
- Execute the note -v flag command, which does the volume mapping:
docker run -d -v /$(pwd)/keras-samples:/home/jovyan/work \
-p 8888:8888 rajdeepd/jupyter-keras start-notebook.sh --NotebookApp.token=''
If you go to the URL, you will notice the sample page being displayed.
- If you got /$(pwd)/keras-samples, you will notice that the Notebooks are available in the host directory, and they also can be seen being loaded by Jupyter:
rdua1-ltm:keras-samples rdua$ pwd
/Users/rdua/personal/keras-samples
rdua1-ltm:keras-samples rdua$ ls
MNIST CNN.ipynb sample_one.ipynb
If you open MNIST CNN.ipynb, it is a Keras CNN sample, which we will learn more about in the subsequent chapters.
In this recipe, we used the Docker image rajdeepd/jupyter-keras to create a Keras environment and access it from Jupyter running in the host environment.