本地浏览器访问Docker容器内的tensorboard
1.docker容器端口映射
docker run --gpus all -it --name dc -p 6166:6166/tcp -v /data0/data/:/app --shm-size 10240m image /bin/bash
释意:
gpus all:使docker能支持GPU,要用gpu必须用这种方式(版本19.03以上);
-i:–interactive,保持标准输入始终开启着,保证容器能收到STDIN;
-t:–tty,为创建的容器分配一个伪tty,相当于提供了交互式shell;
–name:这个容器的名字,建议加上自己标识,明确是谁的容器;
-v:挂载一个host的目录到容器内,可以挂载多个目录;
-p:端口映射,容器的6166端口映射到主机的6166,主机端口:容器端口;
–shm-size=1024m :可选的,有时候shared-memory不足,可以通过这个参数指定;
2.在docker中打开tensorboard:
tensorboard --logdir=./path/to/your_files --port 6166
注:执行命令后出现如下情况:
Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all
TensorBoard 2.0.2 at http://localhost:6166/ (Press CTRL+C to quit)
则需加入–bind_all,将服务暴漏到网络中。
3.在本地打开cmd,ssh连接到服务器:
ssh -L 6006:127.0.0.1:6166 root@10.10.10.10 -p 2212
释意:
6006为本地的端口,6166为docker容器中开启tensorboard服务的端口号的主机映射端口;
root为你的用户名,10.10.10.10为你的服务器IP地址,2212为服务器的ssh端口;
连接到服务器后,会提示输入密码,然后输入即可。
4.打开本地浏览器访问tensorboard
在本地浏览器打开页面:http://127.0.0.1:6006/,即可访问服务器里的docker容器的tensorboard服务。