远程连接 服务器的 jupyter
一: 服务器开启jupyter
首先如果python环境里面没有jupyter, 直接用pip安装;建议安装anaconda。
pip install jupyter
配置jupyter,频繁使用jupyter最好先配置密码, 用容器的话就直接用token就行了。
jupyter-notebook --generate-config
jupyter notebook password 输入两次密码。
然后准备开启jupyter,先转到你的 工作目录; 运行以下命令:
nohup jupyter notebook --no-browser --port=8888 --allow-root &
端口8888被占用就换成其他的,会在当前目录生成一个nohup.out文件,里面存放日志。
二:远程连接
jupyter开启之后,本地机器要连接的话需要通过ssh:
ssh user@host -L localhost:8888:localhost:8888 -o ServerAliveInterval=60
user 为登陆服务器的用户名, host 服务器ip地址,-L localhost:8888:localhost:8888 是把后面的ip端口映射到前面,这里后面的端口要与jupyter开启的端口一致。-o ServerAliveInterval=60 是为了保持连接不断,发送心跳。
然后输入服务器登陆密码,如果经常使用可以配置ssh免密登陆,这个自行百度。
然后就能在浏览器里面打开了,nohup.out里面复制。至此,就可以在本地使用jupyter了。
三:扩展与维护
关闭jupyter: ps -aux|grep jupyter-notebook 找到这个进程然后杀掉,kill -9 xxxx。jupyter其实不太占用资源,主要是里面的ipython进程跑完要即时清理,不然会一直占用内存或者GPU。
容器里面开启jupyter notebook:构建好镜像后,进入工作目录,使用类似下面语句启动容器。
sudo docker run -it -v "$(pwd):/app/" -p 8888:8888 image:tag 然后在里面开启jupyter 后面就一样了。