$ docker run -u $(id -u):$(id -g) --gpus all -it --rm --name my_tf_container -v ~/docker_ws:/notebooks -p 8888:8888 -p 6006:6006 tensorflow/tensorflow:latest-gpu-py3-jupyter
-u $(id -u):$(id -g) # assign a user and a group ID
--gpus all # allow GPU support
-it # run an interactive container inside a terminal
-rm # automatically clean up the container and remove the file system after closing the container
--name my_tf_container # give it a friendly name
-v ~/docker_ws:/notebooks # share a directory between the host and the container
-p 8888:8888 # define port 8888 to connect to the container
-p 6006:6006 # forward port 6006 for Tensorboard