ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

jupyterlab部署到docker

2019-08-10 15:52:41  阅读:658  来源: 互联网

标签:容器 jupyterlab 8888 部署 notebook 4040 jupyter 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左右

当然可能有镜像层复用的情况,实际可能没有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

停止

# 新开终端
$ 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

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

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

标签:容器,jupyterlab,8888,部署,notebook,4040,jupyter,docker
来源: https://www.cnblogs.com/zeryter/p/11331811.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有