操作環境: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