Tensorboard
# 使用ssh登录docker,同时进行端口映射
ssh -L 16006:127.0.0.1:6006 root@your_sever_id -p port # 你的用户名和ip, 将服务器的6006端口映射到本机的16006
#登录docker后,在docker的终端中输入
export LC_ALL=C
#在docker中运行tensorboard
tensorboard --logdir=/path/to/log --port=6006
在本地浏览器中访问http://127.0.0.1:16006/
Jupyter notebook
使用ssh登录docker
# 同样的道理,使用ssh登录docker,同时进行端口映射
ssh -L 16006:127.0.0.1:8888 root@your_sever_id -p port # 你的用户名和ip 将docker的8888端口映射到本机的16006端口
#登录docker后,在docker的终端中输入:(未验证这句话具体有没有用)
export LC_ALL=C
这样我们就可以把Docker中的8888端口映射到本机的16006端口, 接下来我们就只需要控制docker中的Jupyter以8888端口进行输出就可以了, 为了加密安全我们采用密码控制,以下操作全部在docker中运行。
首先,需要保证你的docker上面安装的有Jupyter
pip install jupyter notebook==6.2.0
接下来在终端中输入
# 进入python
python
>>>from notebook.auth import passwd
>>>passwd()
# 输入登录密码 结果会输出一串数据 ,先复制一份后面会用
>>> eixt() #退出python
#生成jupyter config 文件
jupyter notebook --generate-config
#配置 jupyter_notebook_config.py
vim ~/.jupyter/jupyter_notebook_config.py
#在vim中修改以下内容,并取消该部分的注释, 注意!!!取消注释后句子前面不要有空格,.py文件格式要注意!!!
c.NotebookApp.ip = '0.0.0.0'
c.NotebookApp.open_browser = False
c.NotebookApp.password = u'sha1:9ee3e6b24aee:7d447d09b91fb220b4cdc629984f644704750a48' ##这个是自己的passwd()输出的结果, 注意u不要忘记
c.NotebookApp.port = 8888
#修改完成保存退出
#终端打开jupyter notebook
jupyter notebook --allow-root
如果出现下列结果说明启动成功
[I 22:15:09.062 NotebookApp] Serving notebooks from local directory: /root
[I 22:15:09.062 NotebookApp] Jupyter Notebook 6.2.0 is running at:
[I 22:15:09.062 NotebookApp] http://e8becddcb4c5:8888/
[I 22:15:09.062 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
最后,在本地浏览器中访问http://127.0.0.1:16006/
我的知乎网址:https://zhuanlan.zhihu.com/p/353873413