开启Docker内Visdom的映射端口,使用MobaXterm将其转发到本地实现本地化动态监视

本文介绍了如何在Docker容器内开启并暴露visdom的8097端口,以及使用MobaXterm的Tunneling工具将端口转发到本地进行深度学习过程的可视化。通过修改docker的host文件,添加端口映射,然后通过MobaXterm设置端口转发,最终在本地浏览器查看。此外,还提供了使用SSH命令行转发端口的原始方法作为补充。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上一篇文章中,我们实现了visdom对深度学习过程的可视化,为了更方便的在本地查看可视化的动态过程,需要开启并暴露Docker容器内visdom的8097端口,进一步使用MobaXterm的Tunneling工具将其转发到本地,进而在本地浏览器中查看。
下面将实现过程分享并记录如下:

  1. 由于之前run docker的时候没有开启visdom的映射端口8097,下面我们修改docker的host文件,开启并暴露8097端口以及其本地映射IP。
  2. 首先停掉docker,否则修改无效!
systemctl stop docker
  1. 在/var/lib/docker/containers/{容器ID}/目录下找到两个文件:hostconfig.jsonconfig.v2.json
    在这里插入图片描述
  2. 使用vim修改hostconfig.json,在“PortBindings”中添加红线画出的语句
vim hostconfig.json

在这里插入图片描述

"8097/tcp":[{"HostIp":"127.0.0.1","HostPort":"8097"}]
  1. vim修改config.v2.json,在"ExposedPorts"中添加红线画出的语句
vim config.v2.json

在这里插入图片描述

"8097/tcp":{}
  1. 重启docker
systemctl start docker
  1. 查看修改后docker的映射端口
docker port 56c6 #56c6为容器ID

在这里插入图片描述
这时发现,visdom的8097端口已经开启并暴露,本地IP为127.0.0.1,端口号为8097。下面只需要将此端口转发到本地,即可。

这里有两种实现方法,为了不跑题,我先说说比较方便的使用MobaXterm的tunneling工具的方法,文末我再补充一种最原始的方法。

  • 首先打开MobaXterm,连接到我们使用的服务器,点击Tunneling在这里插入图片描述

  • 再弹出的对话框中,点击左下角New SSH tunnel按钮

  • 选择Local port forwarding,即把远程服务器的端口通过SSH转发到本地某端口。1处:输入远程服务器IP; 2处:用户名; 3处:docker内8097端口的本地IP 127.0.0.1; 4处:visdom映射端口号; 5处:转发到本地的接受端口,我这边PC一直提醒我设置为65535,我就照办了,这个应该可以根据自己的使用情况设置。这些设置完后,点保存即可。
    在这里插入图片描述

  • 如果之前已经连接到服务器,应该就弹出下面的窗口,如果没登录,可能需要输一遍密码才行。建议在Setting框内选中最后两项,功能分别为:①打开MobaXterm后自动开启端口转发;②错误恢复后,自动开启端口转发。
    在这里插入图片描述

  • 最后,点击Start按钮,整个过程就完成啦!在本地浏览器中键入127.0.0.1:65535,此时,实现了Docker内开启并暴露visdom的8097端口,并将其通过MobaXterm转发到本地的任务。这样我们就能很方便的在本地查看深度学习的可视化动态过程。
    在这里插入图片描述
    补充方法:上面的方法很方便,只需要设置一次,在以后的使用过程中不需要反复设置。但是楼主第一次联调的时候用的不是这个方法,用的最原始的SSH连接方法,后来仔细一想MobaXterm这么高级的东西应该有解决这个问题的方法,才发现了上面的新大陆。这里也是作为一个学习过程的记录,把最原始的方法也分享如下:

  • 在Window操作系统下,Win+R cmd

  • 终端内输入:ssh -L 8097:127.0.0.1:8097 服务器用户名@IP地址

  • 输入密码

  • 在本地浏览器中键入127.0.0.1:8097

  • Successfully!(确保容器内的visdom服务是打开状态)

总结:这其实是第一种方法的内核,就是通过SSH把8097端口转发到本地的,只不过MobaXterm把这个过程打包封装了。至此我们就实现了使用RTX 3090显卡的Docker+pycharm+visdom在Portch框架下远程联调以及本地可视化动态监视。上述的过程如果大家有更好的方法或者建议请不要犹豫留言并联系我一起讨论学习!鞠躬!对前面的配置不清楚的同学可以移步我得前一篇文章《RTX 3090显卡——Docker+Pycharm+visdom联调(Pytorch框架)》

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值