本文主要介紹如何在Ubuntu系統(tǒng)中使用Docker本地部署Jupyter Notebook,并結(jié)合cpolar內(nèi)網(wǎng)穿透工具實現(xiàn)任意瀏覽器公網(wǎng)遠程訪問Jupyter登錄界面。
Jupyter Notebook是一個交互式筆記本,支持運行40多種編程語言??梢允褂盟鼇韯?chuàng)建和共享程序文檔,支持實時代碼,數(shù)學方程,可視化和 markdown。具有數(shù)據(jù)清理和轉(zhuǎn)換,數(shù)值模擬,統(tǒng)計建模,機器學習等等用途。
要使用Docker部署Jupyter Notebook非常簡單,只需要選擇并拉取你想要安裝的版本鏡像,然后在容器中進行參數(shù)設置就可以啟動容器,運行Jupyter Notebook了。
1. 選擇與拉取鏡像
本文中使用的操作系統(tǒng)為Ubuntu 18.04,在終端中執(zhí)行命令:
sudo docker search Jupyter
即可看到各種版本的Jupyter Notebook鏡像,可以根據(jù)自己不同的需求選擇想要安裝的鏡像。
本教程中我們以jupyter/base-notebook
這個基礎版本鏡像為例,進行鏡像拉取。
執(zhí)行命令:
sudo docker pull jupyter/base-notebook
執(zhí)行命令后稍等一會兒就可以看到jupyter/base-notebook
鏡像已經(jīng)拉取完畢。
執(zhí)行命令:
sudo docker images
可以看到本地所有鏡像,其中就有剛才拉取的jupyter/base-notebook
鏡像。
2. 創(chuàng)建容器
在拉取了Jupyter鏡像后,我們就可以使用Docker創(chuàng)建容器來運行Jupyter Notebook了。
執(zhí)行命令:
sudo docker run -d -p 8888:8888 jupyter/base-notebook
即可創(chuàng)建一個在后臺運行的名為jupyter
的容器,并將本地端口8888映射到容器的8888端口。
執(zhí)行命令:
sudo docker ps -a
可以看到容器已經(jīng)成功運行了。
3. 訪問Jupyter工作臺
此時,我們在瀏覽器中輸入本機ip地址加端口即可訪問Jupyter工作臺:
http://127.0.0.1:8888
可以看到,頂部顯示我們需要輸入密碼或者token進行登錄。
token獲取可以在終端中執(zhí)行命令sudo docker logs 你的Jupyter容器id
進行查看:
在顯示的信息底部,可以看到一長串的字符構(gòu)成的token,下圖紅框中67f4開頭,ec38結(jié)尾的這個即是。
將這串字符復制下來,回到剛才打開的瀏覽器中進行粘貼:
點擊log in
登錄,即可進入Jupyter工作臺:
如上圖顯示,則表示已經(jīng)成功登錄。
不過由于token不方便記憶,所以可以登出后重新登錄界面,使用token來設置或修改密碼,之后即可使用密碼登錄。
確認后,會自動跳轉(zhuǎn)到工作臺界面:
點擊功能導航中的File,選擇Log Out,即可登出,之后再登錄工作臺就可以在頂部輸入剛才設置的密碼登錄了。
4. 遠程訪問Jupyter工作臺
現(xiàn)在,我們可以在本地使用瀏覽器登錄使用Docker部署的Jupyter工作臺了。
在工作臺中選擇Notebook下的Python3(ipykernel),即可創(chuàng)建一個.ipynb文件,開始愉快的使用Jupyer Notebook了。
不過我們只能在本地使用剛剛部署的Jupyer Notebook,如果身在異地,想要遠程訪問在本地部署的Jupyer Notebook容器,但又沒有公網(wǎng)ip怎么辦呢?
我們可以使用cpolar內(nèi)網(wǎng)穿透工具來實現(xiàn)無公網(wǎng)ip環(huán)境下的遠程訪問需求。
4.1 內(nèi)網(wǎng)穿透工具安裝
下面是安裝cpolar步驟:
cpolar官網(wǎng)地址: https://www.cpolar.com
- 使用一鍵腳本安裝命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
- 向系統(tǒng)添加服務
sudo systemctl enable cpolar
- 啟動cpolar服務
sudo systemctl start cpolar
cpolar安裝成功后,在外部瀏覽器上訪問Linux 的9200端口即:【http://服務器的局域網(wǎng)ip:9200】,使用cpolar賬號登錄,登錄后即可看到cpolar web 配置界面,結(jié)下來在web 管理界面配置即可。
4.2 創(chuàng)建遠程連接公網(wǎng)地址
登錄cpolar web UI管理界面后,點擊左側(cè)儀表盤的隧道管理——創(chuàng)建隧道:
- 隧道名稱:可自定義,注意不要與已有的隧道名稱重復,本例使用了:jup
- 協(xié)議:http
- 本地地址:8888
- 域名類型:隨機域名
- 地區(qū):選擇China Top
點擊創(chuàng)建
創(chuàng)建成功后,打開左側(cè)在線隧道列表,查看剛剛創(chuàng)建隧道后生成兩個公網(wǎng)地址,接下來就可以在其他電腦(異地)上,使用任意一個地址復制到瀏覽器訪問即可。
可以看到,能夠正常公網(wǎng)遠程訪問。
輸入密碼后即可實現(xiàn)在公網(wǎng)遠程登錄本地內(nèi)網(wǎng)部署的Jupyer Notebook工作臺界面。
小結(jié)
為了方便演示,我們在上邊的操作過程中使用了cpolar生成的http公網(wǎng)地址隧道,其公網(wǎng)地址是隨機生成的。
這種隨機地址的優(yōu)勢在于建立速度快,可以立即使用。然而,它的缺點是網(wǎng)址是隨機生成,這個地址在24小時內(nèi)會發(fā)生隨機變化,更適合于臨時使用。
如果有長期遠程訪問Jupyter Notebook的需求,但又不想每天重新配置公網(wǎng)地址,還想地址好看又好記,那我推薦大家選擇使用固定二級子域名地址的方式來遠程訪問。
4.3 使用固定二級子域名地址遠程訪問
接下來保留一個固定http地址,登錄cpolar官網(wǎng),點擊左側(cè)的預留,找到保留二級子域名,為遠程服務器連接保留一個固定二級子域名地址:
- 地區(qū):選擇China VIP
- 描述:即備注,可自定義,本例使用jup123
點擊保留
地址保留成功后,復制生成的公網(wǎng)地址,打開cpolar web ui管理界面,點擊左側(cè)儀表盤的隧道管理——隧道列表,找到我們剛才創(chuàng)建的隨機公網(wǎng)地址隧道 jup,點擊編輯
修改隧道信息,將剛才保留成功的固定http地址:jup123 配置到隧道中
- 域名類型:選擇二級子域名
- 預留的http地址:復制粘貼官網(wǎng)保留成功的地址,本例中為:jup123
- 地區(qū)選擇:China VIP
點擊更新
隧道更新成功后,點擊左側(cè)儀表盤的狀態(tài)——在線隧道列表,可以看到公網(wǎng)地址已經(jīng)更新為了兩個固定二級子域名地址。
接下來與之前的操作一樣,可以在其他電腦(異地)上,使用任意一個固定二級子域名地址復制到瀏覽器訪問即可。文章來源:http://www.zghlxwxcb.cn/news/detail-785252.html
如上圖所示,即為配置成功。我們現(xiàn)在就能在公網(wǎng)使用cpolar內(nèi)網(wǎng)穿透工具生成的永久不變的固定二級子域名,使用任意瀏覽器遠程訪問Jupyter Notebook工作臺了,無需購買域名服務器,也不用設置路由器那么麻煩,輕松實現(xiàn)大家遠程訪問本地服務的需求!文章來源地址http://www.zghlxwxcb.cn/news/detail-785252.html
到了這里,關于使用Docker本地部署Jupyter Notebook并結(jié)合內(nèi)網(wǎng)穿透實現(xiàn)遠程訪問的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!