场景一:tensorboard直接运行在服务器上
tensorboard启动后访问地址为:0.0.0.0:6006,这是远程服务器的访问端口,无法用本地浏览器打开。
解决办法:
- 端口重定向。即将服务器的6006端口重定向到本地电脑的端口。
ssh -L 16006:127.0.0.1:6006 username@remote_server_ip
其中:16006:127.0.0.1代表自己机器上的16006号端口,6006是服务器上tensorboard使用的端口。
- 在服务器上使用6006端口正常启动tensorboard。
tensorboard --logdir=xxx --port=6006
- 在本地浏览器中输入访问地址
127.0.0.1:16006
场景二:tensorboard运行在服务器的docker容器上
此时要做两次端口重定向,即:容器端口——>服务器端口——>本地端口
- 创建容器时指定容器到服务器的端口映射
注意:是创建容器时,不是打开容器时。
sudo -docker run -p 6666:6006 --name test -it 镜像id
上述命令将容器的6006端口映射到了服务器的6666端口
- 再建立服务器到本地的端口映射
ssh -L 16006:127.0.0.1:6666 username@remote_server_ip
由此便实现了从容器:6006——>服务器:6666——>本地:16006 的端口映射