JupyterHub已经成为数据探索的最佳工具,并且能够在Kubernetes中运行,提供托管的、可伸缩的数据分析环境。JupyterHub能够为每一个用户建立独立的运行环境,在单机环境下运行在不一样的Anaconda环境(不能扩展),在Kubernetes中,是运行在Docker容器之中的,并且能够扩展到多个节点。html
Jupyter项目已经提供了一些Docker镜像,能够直接使用,也能够自定义、编译本身的容器镜像。node
这里我选择 jupyter/all-spark-notebook:5811dcb711ba 为基础镜像,是由jupyter官方发布的。git
从新建立一个Dockerfile,而后添加本身的软件包。github
编译镜像,运行:docker
docker build --build-arg "HTTP_PROXY=http://192.168.199.99:9999" -t openthings/databook .
其中,-t 指明镜像的名称,可使用--build-arg传递临时参数到容器编译过程当中,在使用时经过env获取,如 :apache
ENV HTTP_PROXY ${HTTP_PROXY}
使用docker images查看镜像openthings/databook是否已经建立成功。框架
Kubeflow也采用了JupyterHub/Lab的运行框架,可是启动jupyternotebook的参数不一样,所以两者不能混合使用。但在Kubeflow中能够采起相似的办法使用KubeFlow的配置文件从新编译容器镜像,而后配置到Kubernetes集群中使用。工具