本地win10计算机访问服务器docker容器下的tensorboard

本文档介绍了如何通过SSH隧道解决本地无法直接访问Docker容器内TensorBoard的问题。步骤包括尝试使用--bind_all参数、映射额外端口、修改SSH配置文件等,最终通过在本地建立SSH隧道实现远程访问。详细步骤包括设置容器端口映射、安装openssh-server和client,修改SSH配置,以及在本地使用ssh-L命令创建隧道。

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

之前也试过

1,.加--bind_all ,无效 。参考:解决本地无法访问 Docker 中 tensorboard2.2.2 端口的问题_梦家の博客-优快云博客

2.docker容器添加对外映射端口 ,多添加一个默认映射6006,也试过无效。

3.tensorboard在远程服务器上的两种使用场景 - Neo_KH - 博客园 ,试过这种,但是发现我一旦拥有多个映射,自动会映射22,没成功,而且他这个只能用tensorboard映射,不能做单独的外部文件访问(不能用xftp、xshell访问),也连不了pycharm。


这边是我的方法:

条件:

1.你的容器需要和宿主服务器建立一条映射,比如宿主服务器端口12622---->容器端口22(早期的这个12622端口是为了方便pycharm连接远端容器而建立的,而不是tensorboard)(区分不同的容器,别的同学也有自己的容器)

 我的容器端口映射是这样的:

2.自定义的docker 内部装好了 openssh-server和openssh-client

  1. apt-get update
  2. apt-get install openssh-server
  3. apt-get install openssh-client

3.修改SSH配置文件以下选项

  1. vim /etc/ssh/sshd_config
  2. 修改后的内容如下:
  • # PermitRootLogin prohibit-password , 默认打开 禁止root用户使用密码登陆,需要将其注释(在前面加个#号,如果有了表示已经注释)
  • RSAAuthentication yes ,启用 RSA 认证
  • PubkeyAuthentication yes ,启用公钥私钥配对认证方式
  • PermitRootLogin yes ,允许root用户使用ssh登录(最主要)

下面开始实践:

1.在容器里面使用tensorboard,这边定义容器内部的端口号为1234

tensorboard --logdir=文件存放目录 --port 1234

 2.在本地win10终端,建立一个链接,

ssh -L 16006:127.0.0.1:1234 容器用户名@服务器IP地址 -p 容器外部端口号

比如远程服务器容器的用户名为root(一般容器默认都是root用户),远程服务器IP为11.11.11.11,容器暴露的外部端口号为12622。而本地win10计算机localhost:16006访问远端服务器建立的127.0.0.1:1234的地址,那么应该写成如下格式:

ssh -L 16006:127.0.0.1:1234 root@11.11.11.11 -p 12622

 然后在本地win10电脑浏览器访问地址,会发现可以访问了!

http://localhost:16006/

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值