windows连接服务器docker中的tensorboard

一、流程如下:

1,首先服务器创建docker的时候需要使用-p将服务器的p0(一般为6006)映射到docker容器里面的端口p1(p0和p1可以不一样,但一般用6006,因为tensorboard默认端口是6006)

2,在容器里的命令行启动tensorboard,tensorboard --logdir=your path --bind_all,我这边发现不加--bind_all会失败

3,在windows上使用ssh命令添加隧道,通过本地端口号p2访问p1,也可以通过图形化界面工具如mobaxterm,这个工具和xshell类似,挺好用的还免费

4,在windows的浏览器里面输入http://localhost:p2或者http://127.0.0.1:p2

 

二、具体流程

1,创建docker

a),docker run -d -it --name tb -p 10010:22 -p 6006:6006 -v $PWD: /data ubuntu bash

b),docker exec -it tb bash 因为是用的后台启动容器,因此需要在通过这行命令才能进入容器

    -d: 后台运行容器,并返回容器ID

    -i: 以交互模式运行容器,通常与 -t 同时使用

    -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用

    --name: 给容器取个别名

    -P: 随机端口映射,容器内部端口随机映射到主机的端口

    -p: 指定端口映射,格式为:主机(宿主)端口:容器端口

    -v: 挂载本地目录至容器中, 格式: -v :

    这里注意有两个端口映射,将服务器的22端口映射到容器的10010端口,将服务器的6006端口映射到6006端口

c),docker里面的用户名为root,修改其密码,并启动ssh服务

    passwd

    ********(输入密码)

    /etc/init.d/ssh restart

    exit

d),测试ssh是否可以用,在服务器里面操作

    ssh [email protected] -p 10010,输入c)中修改的密码

    exit 退出容器

2,在容器里的命令行输入,tensorboard --logdir=your path --bind_all,步骤2和步骤3顺序可以颠倒

3,建立隧道

方法一:在xterm工具中操作,该方法不需要每次都输入ssh命令了

    a) Tools->MobaSSHTunnel(port for warding)->New SSH tunnel

windows连接服务器docker中的tensorboard_第1张图片

    b)输入对应的信息然后点save,可能需要添加ssh认证点yes即可,输入远程服务器用户名对应的密码,如果填写的是docker内账号root,则输入前面修改的root对应的密码

windows连接服务器docker中的tensorboard_第2张图片

    c)具体填写实例

windows连接服务器docker中的tensorboard_第3张图片

方法二:windows的命令行操作:

    a)在windows环境使用win键+r,然后输入cmd

windows连接服务器docker中的tensorboard_第4张图片

    b)然后输入ssh命令

    ssh -L 6008:10.168.4.34:6006 [email protected]

    该命令解释如下:windows本地的6008端口映射到服务器ip为10.168.4.34的6006端口

    输入yes,密码是服务器用户名为yckj3250的密码

    关于ssh命令中的-L,-R,-D的区别https://zhuanlan.zhihu.com/p/57630633

windows连接服务器docker中的tensorboard_第5张图片

4,windows浏览器输入http://localhost:6008/或者输入http://127.0.0.1:6008/回车即可

windows连接服务器docker中的tensorboard_第6张图片

 

你可能感兴趣的:(tensorboard)