设为首页 加入收藏

TOP

Docker安装配置JupyterNotebook详解(一)
2023-09-23 15:44:24 】 浏览:967
Tags:Docker 安装配 JupyterNotebook 详解

因为Docker Hub无法打开,Jupyter Notebook等官方镜像也无法下载,所以另辟蹊径下载了热门的Python3基础镜像,从头开始安装纯净版本的Jupyter Notebook环境,本文记录了完整的Jupyter Notebook安装过程,方便自己查阅,也供其他人员参考,请确保当前已有Docker运行环境

直接拉取最新Python镜像,映射宿主机与容器内部目录,因为目前只用到Notebook的Web服务,所以只映射了一个端口开放使用

docker run -itd -p 2222:2222 -v /home/jupyter:/home/jupyter --name jupyter python

进入镜像容器内部

docker exec -it `容器编号` /bin/bash

设置pip下载镜像源为清华

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

下载jupyter,默认会下载最新版本7.X的Notebook,但是目前最新版本安装nbextensions插件会报错,所以这里下载6.X的Notebook最后版本

pip install jupyter
pip install jupyter notebook==6.5.5

生成Jupyter默认配置文件,并自定义配置选项

jupyter notebook --generate-config
生成配置文件后,控制台会打印生成的文件地址,通常是这个 /root/.jupyter/jupyter_notebook_config.py,如果生成的文件已经存在,会提示你是否需要覆盖,根据自己需要选择即可
因为此镜像没有Vim编辑器,我们可以按照如下步骤使用cat快速编辑保存配置
  • 使用cat jupyter_notebook_config.py命令查看配置文件,并选中复制到电脑文本中
  • 找到如下配置项,不同版本略有不同,但后缀相同,最后会附上当前完整配置以供参考
    • c.NotebookApp.allow_remote_access = True # 允许远程访问
    • c.NotebookApp.ip='0.0.0.0' # 自动获取服务器ip
    • c.NotebookApp.allow_root =True # 打开root权限启动
    • c.NotebookApp.open_browser = False # 服务端禁止自动打开浏览器
    • c.NotebookApp.port = 2222 # 创建docker时候配置的端口号
  • 上面设置项改完后,可以复制编辑好的全部配置文件,使用命令cat > jupyter_notebook_config.py 覆盖当前所有配置,最后 Ctrl+D保存文本,也可以使用命令cat >> jupyter_notebook_config.py 追加自己更改的设置项

配置文件成功后,可以在当前目录使用命令 jupyter notebook启动服务,控制台没什么报错的话会打印Jupyter Notebook访问地址链接,复制好链接中的token后面的值,我们便可以在打开的页面中输入token值,用来设置初始访问密码

当然我们可以事先生成密码,然后设置到配置文件中,但是上面的方法更为简单,以下方法仅供参考

  • ipython
  • from notebook.auth import passwd
  • passwd()
  • Enter password: XXXX
  • Verify password: XXXX
  • Out[2]: '生成的密钥'

复制生成的密钥,填入配置文件的 c.NotebookApp.password 项中 注意前面有 u

示例 c.NotebookApp.password=u'生成的密钥'

后台运行Jupyter Notebook

上面使用命令jupyter notebook启动服务后,控制台不方便执行其他命令,可以先使用Ctrl+C中断服务,在当前目录下使用nohup jupyter notebook &以启动后台服务,默认当前目录为工作目录,新建的文件会保存在此处,也可以指定工作目录,如jupyter notebook --notebook-dir='工作目录地址',注意,如果当前端口存在冲突时,Jupyter服务的端口会自动顺延至下一个可用的端口,会导致服务无法访问,可以使用命令 ps aux |grep note查看当前是否已存在运行服务,然后使用kill -9 服务的PID杀掉对应进程

下载插件管理器nbextensions,并安装

pip install jupyter_contrib_nbextensions && jupyter contrib nbextension install --user
当前我开启的插件,根据自己需求来
  • Export Embedded HTML
  • RISE
  • Hinterland
  • Nbextensions dashboard tab
  • Table of Contents (2)
  • Variable Inspector
  • Code prettify
  • Hide input all
  • Nbextensions edit menu item
  • zenmode

使用主题(优雅的主题更舒心)

pip install jupyterthemes

可以使用 jt -ls 查看当前所有主题名称,jt -t 主题名称可以切换到对应主题,切换主题,通常无需重启Jupyter Notebook,刷新Notebook页面即可看到变化,最后可以使用jt -r还原为默认主题

附我当前使用的主题配置 jt -t gruvboxd -fs 12 -cellw 80% -ofs 11 -dfs 11 -T -N

说明 -f(字体) -fs(字体大小) -cellw(占屏比或宽度) -ofs(输出段的字号) -T(显示工具栏) -N(显示自己主机名)

看自己需要,是否需要安装下面插件

  • 报表展示 pip install plotly_express
  • 报表展示 pip install pyecharts
  • 查看当前系统环境信息 pip install watermark
  • 幻灯片插件 pip install rise
%load_ext watermark
%watermark

查看当前Jupyter中已有的核心包版本

jupyter --version

附 jupyter-notebook完整配置文件

# Configuration file for jupyter-notebook.

c = get_config()  #noqa

#------------------------------------------------------------------------------
# Application(SingletonConfigurable) configuration
#------------------------------------------------------------------------------
## This is an application.

## The date format used by logging formatters for %(asctime)s
#  Default: '%Y-%m-%d %H:%M:
首页 上一页 1 2 3 4 5 6 7 下一页 尾页 1/17/17
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Python教程(13)——Python运算符.. 下一篇【matplotlib基础】--文本标注

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目