基于 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
用于存储用户配置
使用流程
- 下载镜像并通过启动脚本启动 jupyterlab 容器
docker exec -it -u $(id -un) jupyterlab bash
进入容器- 在容器里执行
# 创建 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
- 重新启动容器
docker stop jupyterlab docker start jupyterlab
- 用浏览重新登录本机
http://127.0.0.1:9999/ 输入密码即可