Try   HackMD
tags: tutorials ubuntu linux docker python

Docker 使用 tensorboardjupyter

Run container

$ docker run -it -p 5566:6006 -p 7788:8888 -d docker_image
  • -p 5566:6006: 將 container 內部的 6006 port 連到外部系統的 5566 port

    tensorboard 預設 port 為 6006

  • -p 7788:8888: 將 container 內部的 8888 port 連到外部系統的 7788 port

    jupter 預設 port 為 8888

port 值當然都可以自己設定,不過不可使用 < 1024 的 privileged ports 或是已被使用的 port

更多 docker 使用方式請看這裡

Run tensorboard

  • 啟動 tensorboard
    ​​​​$ tensorboard --logdir runs/ --host 0.0.0.0
    • --logdir: 設定要顯示 tensorboard 的資料夾
    • --host: 設定使用的主機網路

      預設為 localhost,也就是 127.0.0.1,會是連到本機(container)的一個虛擬 IP,而設為 0.0.0.0 才可真的 mapping 到系統給的 port

  • 進入 XXX.XXX.XXX:5566
    • XXX.XXX.XXX: 外部主機實體 ip
    • 5566: 會 mapping 到 container 的 6006 port(也就是預設的 tensorboard port)

Run jupyter

  • 啟動 jupyter
    ​​​​$ jupyter notebook --ip 0.0.0.0 --no-browser --allow-root
    • --ip: 設定使用的主機網路

      預設為 localhost,也就是 127.0.0.1,會是連到本機(container)的一個虛擬 IP,而設為 0.0.0.0 才可真的 mapping 到系統給的 port

    • --no-browser: 不啟動瀏覽器
    • --allow-root: 如果 container 內使用者為 root 則需要允許使用 root 開啟 jupyter
  • 進入 XXX.XXX.XXX:5566
    • XXX.XXX.XXX: 外部主機實體 ip
    • 7788: 會 mapping 到 container 的 8888 port(也就是預設的 jupyter port)