前言
《Jupyter notebook》一文中学习了jupyter的使用,本文学习一下怎样使用docker安装jupyter,并且配置访问密码。
前置条件是安装配置好了docker环境,安装方法参考《Docker入门》。已知docker宿主机IP为192.168.56.130。
安装jupyter
1、登录dockerhub查看需要的Jupyter - Docker Official Images。
2、下载jupyter镜像(以6.1.1为例)docker pull jupyter/base-notebook:notebook-5.7.8
注意不要使用6.x.x,存在页面无法显示扩展插件的bug,详情参考Jupyter nbextensions_configurator not shown。
3、创建配置目录
1 | mkdir -p /opt/jupyter/jovyan |
4、启动jupyter服务
1 | docker run --name vk-jupyter -d \ |
以上命令:
- 命名容器为vk-jupyter,后台运行
- 映射宿主机8888端口到容器的8888端口
- 挂载宿主机目录/opt/jupyter/jovyan到容器目录/home/jovyan
更多启动命令参数可以参考Jupyter Docker Stacks。
5、验证安装docker ps
,jupyter启动正常的话就可以看到vk-jupyter容器。
浏览器访问 http://192.168.56.130:8888 ,可以看到Jupyter登录页面。
6、登录docker exec -it vk-jupyter jupyter notebook list
可以查看到登录需要的token,使用token即可登录进入jupyter编辑页面。
配置jupyter
1、设置密码
1 | docker exec -it vk-jupyter jupyter notebook password |
2、使用密码
浏览器访问 http://192.168.56.130:8888
此时使用自己设置的密码就可以访问jupyter了。
3、根目录
jupyter编辑器的默认根目录为 /home/jovyan ,对应宿主机目录 /opt/jupyter/jovyan ,创建的目录和文件都去这个路径下面去找。
4、安装ipywidgets 如果不安装ipywidgets,页面加载 /nbextensions/widgets/notebook/js/extension.js 文件时会报错404。
1 | docker exec -it vk-jupyter pip install ipywidgets |
配置Nginx
jupyter 使用了 websocket 协议,所以需要配置支持 websocket。
如果不配置的话,通过域名访问时会报错无法连接内核,也就无法运行python脚本。
1 | server { |
jupyter小技巧
执行bash
在代码框里输入叹号+bash命令,即可执行bash,例如:!ls -l
登录进容器
1 | docker exec -it vk-jupyter /bin/bash |
安装常用命令
1 | docker exec --user root -it vk-jupyter /bin/bash |
安装插件
Jupyter Notebook 扩展插件(nbextensions)是一些 JavaScript 模块,我们可以使用插件强化 Notebook 的功能。扩展插件本质上修改了 Jupyter UI,以实现更强大的功能。
1、界面添加 Nbextensions
1 | docker exec -it vk-jupyter conda install -c conda-forge jupyter_nbextensions_configurator |
2、安装常用扩展集合
1 | docker exec -it vk-jupyter pip install jupyter_contrib_nbextensions -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/ |