Ubuntu系統使用Docker搭建Jupyter Notebook并實現無公網ip遠程連接

文章目錄

    • 1. 選擇與拉取鏡像
    • 2. 創建容器
    • 3. 訪問Jupyter工作臺
    • 4. 遠程訪問Jupyter工作臺
      • 4.1 內網穿透工具安裝
      • 4.2 創建遠程連接公網地址
      • 4.3 使用固定二級子域名地址遠程訪問

本文主要介紹如何在Ubuntu系統中使用Docker本地部署Jupyter Notebook,并結合cpolar內網穿透工具實現任意瀏覽器公網遠程訪問本地部署的Jupyter Notebook界面。

Jupyter Notebook是一個交互式筆記本,支持運行40多種編程語言。可以使用它來創建和共享程序文檔,支持實時代碼,數學方程,可視化和 markdown。具有數據清理和轉換,數值模擬,統計建模,機器學習等等用途。

要使用Docker部署Jupyter Notebook非常簡單,只需要選擇并拉取你想要安裝的版本鏡像,然后在容器中進行參數設置就可以啟動容器,運行Jupyter Notebook了。

1704872364094

1. 選擇與拉取鏡像

本文中使用的操作系統為Ubuntu,在終端中執行命令:

如何在Ubuntu使用docker部署Jupyter Notebook并實現公網遠程訪問

sudo docker search Jupyter

即可看到各種版本的Jupyter Notebook鏡像,可以根據自己不同的需求選擇想要安裝的鏡像。

1704872704867

本教程中我們以jupyter/base-notebook這個基礎版本鏡像為例,進行鏡像拉取。

執行命令:

sudo docker pull jupyter/base-notebook

1704873206171

執行命令后稍等一會兒就可以看到jupyter/base-notebook鏡像已經拉取完畢。

執行命令:

sudo docker images

可以看到本地所有鏡像,其中就有剛才拉取的jupyter/base-notebook鏡像。

1704873403426

2. 創建容器

在拉取了Jupyter鏡像后,我們就可以使用Docker創建容器來運行Jupyter Notebook了。

執行命令:

sudo docker run -d -p 8888:8888 jupyter/base-notebook

即可創建一個在后臺運行的名為jupyter的容器,并將本地端口8888映射到容器的8888端口。

執行命令:

sudo docker ps -a

可以看到容器已經成功運行了。

1704874339782

3. 訪問Jupyter工作臺

此時,我們在瀏覽器中輸入本機ip地址加端口即可訪問Jupyter工作臺:

http://127.0.0.1:8888

1704876066962

可以看到,頂部顯示我們需要輸入密碼或者token進行登錄。

token獲取可以在終端中執行命令sudo docker logs 你的Jupyter容器id進行查看:

1704876294919

在顯示的信息底部,可以看到一長串的字符構成的token,下圖紅框中67f4開頭,ec38結尾的這個即是。

1704876361155

將這串字符復制下來,回到剛才打開的瀏覽器中進行粘貼:

1704876453420

點擊log in登錄,即可進入Jupyter工作臺:

1704876568036

如上圖顯示,則表示已經成功登錄。

不過由于token不方便記憶,所以可以登出后重新登錄界面,使用token來設置或修改密碼,之后即可使用密碼登錄。

1704876901474

確認后,會自動跳轉到工作臺界面:

1704877136738

點擊功能導航中的File,選擇Log Out,即可登出,之后再登錄工作臺就可以在頂部輸入剛才設置的密碼登錄了。

4. 遠程訪問Jupyter工作臺

現在,我們可以在本地使用瀏覽器登錄使用Docker部署的Jupyter工作臺了。

1704877388029

在工作臺中選擇Notebook下的Python3(ipykernel),即可創建一個.ipynb文件,開始愉快的使用Jupyer Notebook了。

1704877526621

不過我們只能在本地使用剛剛部署的Jupyer Notebook,如果身在異地,想要遠程訪問在本地部署的Jupyer Notebook容器,但又沒有公網ip怎么辦呢?

我們可以使用cpolar內網穿透工具來實現無公網ip環境下的遠程訪問需求。

4.1 內網穿透工具安裝

下面是安裝cpolar步驟:

cpolar官網地址: https://www.cpolar.com

  • 使用一鍵腳本安裝命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 向系統添加服務
sudo systemctl enable cpolar
  • 啟動cpolar服務
sudo systemctl start cpolar

cpolar安裝成功后,在外部瀏覽器上訪問Linux 的9200端口即:【http://服務器的局域網ip:9200】,使用cpolar賬號登錄,登錄后即可看到cpolar web 配置界面,結下來在web 管理界面配置即可。

image-20230831171159175

4.2 創建遠程連接公網地址

登錄cpolar web UI管理界面后,點擊左側儀表盤的隧道管理——創建隧道:

  • 隧道名稱:可自定義,注意不要與已有的隧道名稱重復,本例使用了:jup
  • 協議:http
  • 本地地址:8888
  • 域名類型:隨機域名
  • 地區:選擇China Top

點擊創建

1704879225242

創建成功后,打開左側在線隧道列表,查看剛剛創建隧道后生成兩個公網地址,接下來就可以在其他電腦(異地)上,使用任意一個地址復制到瀏覽器訪問即可。

1704879329122

可以看到,能夠正常公網遠程訪問。

1704879409719

輸入密碼后即可實現在公網遠程登錄本地內網部署的Jupyer Notebook工作臺界面。

image-20240110173836900

小結

為了方便演示,我們在上邊的操作過程中使用了cpolar生成的http公網地址隧道,其公網地址是隨機生成的。

這種隨機地址的優勢在于建立速度快,可以立即使用。然而,它的缺點是網址是隨機生成,這個地址在24小時內會發生隨機變化,更適合于臨時使用。

如果有長期遠程訪問Jupyter Notebook的需求,但又不想每天重新配置公網地址,還想地址好看又好記,那我推薦大家選擇使用固定二級子域名地址的方式來遠程訪問。

4.3 使用固定二級子域名地址遠程訪問

接下來保留一個固定http地址,登錄cpolar官網,點擊左側的預留,找到保留二級子域名,為遠程服務器連接保留一個固定二級子域名地址:

  • 地區:選擇China VIP
  • 描述:即備注,可自定義,本例使用jup123

點擊保留

1704879970277

地址保留成功后,復制生成的公網地址,打開cpolar web ui管理界面,點擊左側儀表盤的隧道管理——隧道列表,找到我們剛才創建的隨機公網地址隧道 jup,點擊編輯

1704880021100

修改隧道信息,將剛才保留成功的固定http地址:jup123 配置到隧道中

  • 域名類型:選擇二級子域名
  • 預留的http地址:復制粘貼官網保留成功的地址,本例中為:jup123
  • 地區選擇:China VIP

點擊更新

1704880161012

隧道更新成功后,點擊左側儀表盤的狀態——在線隧道列表,可以看到公網地址已經更新為了兩個固定二級子域名地址。

1704880220608

接下來與之前的操作一樣,可以在其他電腦(異地)上,使用任意一個固定二級子域名地址復制到瀏覽器訪問即可。

1704880312401

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/711184.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/711184.shtml
英文地址,請注明出處:http://en.pswp.cn/news/711184.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C語言系列(所需基礎:大學C語言及格)-4-轉義字符/注釋/選擇語句

文章目錄 一、轉義字符二、注釋三、選擇語句 一、轉義字符 加上\會講原來的字符改變意思,即進行轉義 例如\t會使t變成\t用于表示轉義字符,使得t轉義成水平制表符 其他轉義字符: 三字母詞(展示\?的用處)…

C#面:接口是一種引用類型,不可以聲明公有的域或私有的成員變量,但是可以聲明什么呢?

可以聲明:方法,屬性,索引器,事件。 接口的主要作用是定義一套規范,使得不同的類可以按照相同的規范進行交互。通過實現接口,類可以具備多態性,即可以以接口類型來引用對象,并調用接…

k8s-001-Centos7內核升級

1. 查看內核 [rootlocalhost ~]# uname -a 2. 執行的命令(安裝最新版內核): 下載: rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org 安裝: rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm ( 查看最新版內核&…

杭州默安-安全技術實習生-一面

1.自我介紹 略 2.專業主修的課程 略 3.xss漏洞的類型,原理及防御 原理,服務器對用戶的輸入過濾不嚴格,將用戶的輸入當作Javascript代碼執行并返回給客戶端。 防御,輸入和url參數過濾,HTML實體編碼轉義特殊字符。…

力扣hot100題解(python版33-35題)

33、排序鏈表 給你鏈表的頭結點 head ,請將其按 升序 排列并返回 排序后的鏈表 。 示例 1: 輸入:head [4,2,1,3] 輸出:[1,2,3,4]示例 2: 輸入:head [-1,5,3,4,0] 輸出:[-1,0,3,4,5]示例 3&a…

kafka架構詳解

文章目錄 概述kafaka架構Kafka的設計時什么樣的Zookeeper 在 Kafka 中的作用知道 概述 Apache Kafka 是分布式發布 - 訂閱消息系統,在 kafka 官網上對 kafka 的定義:一個分布式發布 - 訂閱消息傳遞系統。 Kafka 最初由 LinkedIn 公司開發,Li…

mysql 中 auto_increment 自增約束的用法和配置

自增約束 int字段 特殊約束條件,用于為表中寫入新的記錄生成唯一的值,一個表中只能有一個自增約束字段 格式 字段 數據類型 auto_increment 創建帶有自增約束的表 create table student_game_auto ( id int unique auto_increment, name char(5),…

螞蟻集團推動編制的全球首個隱私計算一體機國際標準發布

近日,IEEE 標準協會(IEEE-SA)正式發布并推行了由我國企業主導的全球首個隱私計算一體機國際標準《隱私計算一體機技術要求》(IEEE 3156-2023)。IEEE-SA是權威國際標準制定機構,該標準的成功發布意味著中國的…

numpy常見操作

返回各維度元組print(img.shape)返回大小img.size返回各維度數據類型print(img.dtype) 數據類型變int8maskmask.astype(np.int8) 注意int32可變float64 但float64變int32會把小數截斷 string_可變float64 NumPy常見操作: import numpy as np 創建一個一維數組 ar…

繼承-學習2

this關鍵字:指向調用該方法的對象,一般我們是在當前類中使用this關鍵字,所以我們常說代表本類對象的引用 super關鍵字:代表父類存儲空間的標識(可看作父類對象的引用) 父類: package ven;public class Fu {//父類成員…

操作系統面經

1. 進程和線程的區別? 調度:進程是資源管理的基本單位,線程是程序執行的基本單位。切換:線程上下文切換比進程上下文切換要快得多。擁有資源: 進程是擁有資源的一個獨立單位,線程不擁有系統資源&#xff0…

unity自定義著色器基礎

這些內置渲染管線的著色器示例演示了編寫自定義著色器的基礎知識,并涵蓋了常見的用例。 有關編寫著色器的信息,請參閱編寫著色器。 設置場景 第一步是創建一些用于測試著色器的對象。在主菜單中選擇 Game Object > 3D Object > Capsule。然后&a…

高光譜遙感學習入門丨高光譜數據處理基礎、Python和Matlab高光譜遙感數據處理

目錄 ①Python高光譜遙感數據處理與高光譜遙感機器學習方法深度應用 ②Matlab高光譜遙感、數據處理與混合像元分解實踐技術應用 ③高光譜遙感數值建模技術及在植被、水體、土壤信息提取領域應用 更多應用 高光譜遙感信息對于我們認識世界具有重要意義。盡管大部分物質在人眼…

記錄 | docker權限原因導致service ssh start失敗

【報錯】 容器內啟 ssh server 報錯 有兩個錯: (1)/etc/ssh/sshd_host_rsa_key 權限太高; (2)/run/sshd用戶組不為 root 解決方法: 方法一: 各自容器內對/etc/ssh/sshd_host_r…

【前端素材】推薦優質后臺管理系統 Adminity平臺模板(附源碼)

一、需求分析 1、系統定義 后臺管理系統是一種用于管理網站、應用程序或系統的管理界面,通常由管理員和工作人員使用。它提供了訪問和控制網站或應用程序后臺功能的工具和界面,使其能夠管理用戶、內容、數據和其他各種功能。 2、功能需求 后臺管理系…

2024年四川媒體新聞發布渠道,媒體邀約資源表

傳媒如春雨,潤物細無聲,大家好,我是51媒體網胡老師。 四川有哪些媒體新聞發布渠道,媒體邀約資源表? 2024年四川媒體新聞發布渠道,媒體邀約資源表 四川本地媒體:如四川日報、華西都市報、成都商…

【論文閱讀-PRIVGUARD】Day4:3節

3 PRIVANALYZER:強制執行隱私政策的靜態分析 本節介紹PRIVANALYZER,這是一個用于強制執行由PRIVGUARD追蹤的隱私政策的靜態分析器**。我們首先回顧LEGALEASE政策語言,我們使用它來正式編碼政策,然后描述如何靜態地強制執行它們**…

<專利>機器人3D視覺快速定位抓取方法及系統

摘要,此專利無可用的關鍵技術信息,基本都是下面幾句話反復說。。。 本發明提供了一種機器人3D快速定位抓取方法及系統, 包括: 通過高速的3D結構光成像對目標物體的表面輪廓進行掃描, 形成點云數據;對所述點…

Day07:基礎入門-抓包技術全局協議封包監聽網卡模式APP小程序PC應用

目錄 非HTTP/HTTPS協議抓包工具 WireShark 科來網絡分析系統 WPE封包 思維導圖 章節知識點: 應用架構:Web/APP/云應用/三方服務/負載均衡等 安全產品:CDN/WAF/IDS/IPS/蜜罐/防火墻/殺毒等 滲透命令:文件上傳下載/端口服務/Sh…

未來已來:智慧餐飲點餐系統引領餐飲業的數字化轉型

時下,智慧餐飲點餐系統正在引領著餐飲業邁向更高的位置。今天,小編將與大家共同探討智慧餐飲點餐系統的發展趨勢、優勢以及對餐飲業的影響。 一、智慧餐飲點餐系統的發展趨勢 智慧餐飲點餐系統的出現填補了這一空白,它通過引入數字化技術&a…