jupyterlab部署到docker

操作环境:mac OS 10.14.6
docker版本:10.03.1
终端:iterm2 3.3
时间:2019年8月

::说明::jupyter没有提供单独的jupyterlab镜像,可以使用jupyter/all-spark-notebook镜像进行操作

下载镜像:

$ docker pull jupyter/all-spark-notebook # 使用默认latest标签

镜像大小docker hub上大概在2GB左右, 本地解压需要5GB左右

jupyterlab部署到docker

当然可能有镜像层复用的情况,实际可能没有5G

运行:

$ docker run --rm -p 8888:8888 -p 4040:4040 --name jupyter -e JUPYTER_ENABLE_LAB=yes -v ~/program/jupyter:/home/jovyan/ jupyter/all-spark-notebook

::说明::
--rm: 退出后删除容器, 数据保存到宿主机, 每次重启都是一个干净的容器
-p 8888:8888: 映射web端口;
-p 4040:4040: 映射spark UI端口;
--name jupyter: 设置运行后容器名称为jupyter,方便后续操作;
-e JUPYTER_ENABLE_LAB=yes: 设置变量;
-v ~/program/jupyter:/home/jovyan/: 将本地目录映射到容器中,本地目录:~/program/jupyter, 容器目录: /home/jovyan/;

命令执行完成后,复制红色部分到浏览器访问jupyter

jupyterlab部署到docker

jupyterlab部署到docker

停止

# 新开终端
$ docker stop jupyter

设置别名,让操作稍微简单点

$ sudo vim ~/.zshrc  # 使用vim打开zsh配置文件

# .zshrc文件末尾新增内容
alias run_jupyter='docker run  -d --rm -p 8888:8888 -p 4040:4040 --name jupyter -e JUPYTER_ENABLE_LAB=yes -v ~/program/jupyter:/home/jovyan/ jupyter/all-spark-notebook && sleep 5s && docker exec -it jupyter jupyter notebook list'
alias stop_jupyter='docker stop jupyter'
alias jupyter_list="docker exec -it jupyter jupyter notebook list"

# 退出vim后执行命令
$ source ~/.zshrc

::说明::
首先,对jupyter运行命令进行了修改,
1. 添加了后台运行参数 -d, 切换至后台导致出现没法获取URL,于是在运行完docker后新增了两个命令
2. sleep 5s等待5s,让jupyter启动完成,
3. docker exec -it jupyter jupyter notebook list 显示访问URL, 显示的URL需要进行修改
然后,添加停止容器jupyter
最后,添加一个单独的获取URL的命令,同样需要修改URL
jupyterlab部署到docker

以后的操作就简单了, 启动容器:run_jupyter, 停止容器:stop_jupyter, 显示访问地址: jupyter_list

参考地址:
Running local Jupyter (and JupyterLab) env with Docker

上一篇:Python3 juypterlab pyecharts 柱状图/条形图制作


下一篇:Linux系统编程-(pthread)线程通信(互斥锁)