基于 Docker 本地快速搭建 Jupyterlab 环境

基于 Docker 本地快速搭建 Jupyterlab 环境

使用的是 dclong/jupyterlab 镜像,1.51G

启动脚本

#!/bin/bash
# docker pull dclong/jupyterlab
PORT=9999

docker run -d \
    --name jupyterlab \
    --log-opt max-size=50m \
    -p $PORT:8888 \
    -e DOCKER_USER=`id -un` \
    -e DOCKER_USER_ID=`id -u` \
    -e DOCKER_PASSWORD=`id -un` \
    -e DOCKER_GROUP_ID=`id -g` \
    -v `pwd`/dclong/workdir:/workdir \
    -v `pwd`/dclong/home:/home_host \
    dclong/jupyterlab

目录挂载说明

/workdir 用于存储 jupyter notebook 文件
/home_host 用于存储用户配置

使用流程

  1. 下载镜像并通过启动脚本启动 jupyterlab 容器
  2. docker exec -it -u $(id -un) jupyterlab bash 进入容器
  3. 在容器里执行
    # 创建 jupyter 配置文件
    jupyter notebook --generate-config
    # 生成 jupyter 密码
    jupyter notebook password
    # 将配置文件和密码文件移动至用户配置的文件目录中
    mv /home/$(id -un)/.jupyter /home_host/
    # 将配置文件软链回容器内部的用户目录
    ln -s /home_host/.jupyter /home/$(id -un)/.jupyter
    
    # 生成密码
    ipython
    from notebook.auth import passwd
    In [2]: passwd()
    Enter password:
    Verify password:
    Out[2]: 'sha1:bfb25689b9cf:4b9673a6f7036987e3c837762bf285ec085840ef'
    
    # 将形如 'sha1:bfb25689b9cf:4b9673a6f7036987e3c837762bf285ec085840ef' 用户密码设置在用户配置文件中
    vim /home_host/.jupyter/jupyter_notebook_config.py
    :/password
    # 找到 c.NotebookApp.password = 行并设置
    c.NotebookApp.password = u'sha1:bfb25689b9cf:4b9673a6f7036987e3c837762bf285ec085840ef'
    # 保存退出
    :x
    # 退出容器
    exit
    
  4. 重新启动容器
    docker stop jupyterlab
    docker start jupyterlab
    
  5. 用浏览重新登录本机
    http://127.0.0.1:9999/ 输入密码即可

更多说明可参考

赞赏