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集羣中使用。工具