Docker-keras is a minimal Docker image built from Debian 9 (amd64) for reproducible deep learning based It features minimal images for Python 2 or 3, TensorFlow or Theano backends, processing on CPU If you are looking for a full deep learning research environment based on Keras and Jupyter.
I've installed the tensorflow docker container on an ubuntu machine. The tensorflow docker setup instructions specify:
This puts me into the docker container terminal, and I can run python and execute the Hello World example. I can also manually run .run_jupyter.sh to start the jupyter notebook. However, I can't reach the notebook from host.
How do I start the jupyter notebook such that I can use the notebook from the host machine? Ideally I would like to use docker to launch the container and start jupyter in a single command.
For a Linux host Robert Graves answer will work, but for Mac OS X or Windows there is more to be done because docker runs in a virtual machine.
So to begin launch the docker shell (or any shell if you are using Linux) and run the following command to launch a new TensorFlow container:
Then for Mac OS X and Windows you need to do the following only once:
- Open VirtualBox
- Click on the docker vm (mine was automatically named 'default')
- Open the settings by clicking settings
- In the network settings open the port forwarding dialog
- Click the + symbol to add another port and connect a port from your mac to the VM by filling in the dialog as shown below. In this example I chose port 8810 because I run other notebooks using port 8888.
- then open a browser and connect to http://localhost:8810 (or whichever port you set in the host port section
- Make your fancy pants machine learning app!