Administrator
发布于 2023-11-03 / 40 阅读 / 0 评论 / 0 点赞

Docker 安装配置 Jupyter Notebook

Docker 安装配置 Jupyter Notebook

概览

在之前的文章《Jupyter notebook》中,我们已经介绍了Jupyter的基础使用方法。本文将指导您如何使用Docker来安装Jupyter,并设置访问密码。

确保在开始之前,您已经按照《Docker入门》安装并配置好了Docker环境。本例中Docker宿主机的IP为 192.168.56.130

安装 Jupyter

步骤1: 查找镜像

登录Docker Hub并查找Jupyter的官方镜像

步骤2: 下载镜像

下载您需要的Jupyter镜像版本(此处以 notebook-5.7.8 为例):

docker pull jupyter/base-notebook:notebook-5.7.8

注意: 避免使用 6.x.x 版本,因为它有个已知的扩展插件显示问题,详情请查阅Jupyter nbextensions_configurator not shown

步骤3: 创建配置目录

设置Jupyter的工作目录:

mkdir -p /opt/jupyter/jovyan mkdir -p /opt/jupyter/jovyan/.jupyter chmod 777 -R /opt/jupyter/jovyan

步骤4: 启动 Jupyter 服务

运行以下命令启动Jupyter容器:

docker run --name vk-jupyter -d \ -p 8888:8888 \ -v /opt/jupyter/jovyan:/home/jovyan \ jupyter/base-notebook:notebook-5.7.8

此命令会执行以下操作:

  • 将容器命名为 vk-jupyter 并在后台运行。

  • 将宿主机的 8888 端口映射到容器的 8888 端口。

  • 将宿主机的 /opt/jupyter/jovyan 目录挂载到容器的 /home/jovyan 目录。

更多参数和配置可以参考Jupyter Docker Stacks官方文档

步骤5: 验证安装

运行 docker ps,如果看到 vk-jupyter 容器正在运行,说明Jupyter启动正常。

通过浏览器访问 http://192.168.56.130:8888,您应该可以看到Jupyter的登录页面。

步骤6: 登录

执行以下命令以获取登录所需的token:

docker exec -it vk-jupyter jupyter notebook list

使用此token,您就可以登录Jupyter并开始编辑。

配置 Jupyter

设置密码

为了设置密码,请运行:

docker exec -it vk-jupyter jupyter notebook password docker restart vk-jupyter

重新启动后,您可以使用设置的密码登录。

根目录

Jupyter的默认根目录是 /home/jovyan,对应宿主机的 /opt/jupyter/jovyan。所有创建的目录和文件都将保存在此路径下。

安装ipywidgets

若不安装 ipywidgets,在加载 /nbextensions/widgets/notebook/js/extension.js 文件时可能会报 404 错误。

docker exec -it vk-jupyter pip install ipywidgets

配置 Nginx

为了支持Jupyter使用的websocket协议,需要配置Nginx来支持此协议:

server {
    listen 80;
    server_name jupyter.voidking.com;
    charset utf-8;

    location / {
        proxy_set_header   Host $host;
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://172.17.12.85:8888;

        # WebSocket support
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

执行 bash 命令

在代码框里输入 ! 加上bash命令,例如 !ls -l,即可执行。

登录进容器

docker exec -it vk-jupyter /bin/bash
docker exec --user root -it vk-jupyter /bin/bash

安装常用软件

docker exec --user root -it vk-jupyter /bin/bash
apt update
apt install curl
apt install unzip

安装 Jupyter Notebook 扩展

Jupyter Notebook 的扩展可以增强其功能:

docker exec -it vk-jupyter conda install -c conda-forge jupyter_nbextensions_configurator
# 或使用国内镜像加速 

docker exec -it vk-jupyter pip install jupyter_nbextensions_configurator -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple docker exec -it vk-jupyter jupyter nbextensions_configurator enable --user docker exec -it vk-jupyter jupyter nbextension list docker restart vk-jupyter

Jupyter Nbextensions

安装常用扩展集合

描述安装常用扩展集合的步骤。

docker exec -it vk-jupyter pip install jupyter_contrib_nbextensions -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/
#docker exec -it vk-jupyter conda install -c conda-forge jupyter_contrib_nbextensionsdocker exec -it vk-jupyter jupyter contrib nbextension install --userdocker exec -it vk-jupyter jupyter nbextension list

评论