How to run Tensorboard and jupyter concurrently with docker?
I was facing the same problem today.
Short answer: I'm going to assume you are using the same container for both Jupyter Notebook and tensorboard. So, as you wrote, you can deploy the container with:
nvidia-docker run -d --name tensor -e PASSWORD='winrar'\ -p 8888:8888 -p 6006:6006 gcr.io/tensorflow/tensorflow:latest-gpu-py3
Now you can access both 8888 and 6006 ports but first you need to initialize tensorboard:
docker exec -it tensor bash tensorboard --logdir /root/logs
About the other option: running jupyter and tensorboard in different containers. If you have problems mounting same directories in different containers (in the past there was a bug about that), since Docker 1.9 you can create independent volumes unlinked to particular containers. This may be a solution.
- Create two volumes to store logs and notebooks.
- Deploy both images with these volumes.
docker volume create --name notebooks docker volume create --name logs
nvidia-docker run \ --name jupyter \ -d \ -v notebooks:/root/notebooks \ -v logs:/root/logs \ -e "PASSWORD=*****" \ -p 8888:8888 \ tensorflow/tensorflow:latest-gpu
nvidia-docker run \ --name tensorboard \ -d \ -v logs:/root/logs \ -p 6006:6006 \ tensorflow/tensorflow:latest-gpu \ tensorboard --logdir /root/logs