2025.8.18实验室【代码跑酷指南】Jupyter Notebook程序员的魔法本:cpolar内网穿透实验室第622个成功挑战

软件名称:Jupyter Notebook

操作系统支持:

全平台通吃!Windows、Linux、macOS都能玩,甚至还能在树莓派上开个"迷你数据科学工作站"。

软件介绍

Jupyter是"交互式编程的瑞士军刀"------它不仅能写Python(当然还有R、Julia等40+语言),还能边跑代码边生成图表,甚至用Markdown排版成PPT。想象一下:你的代码和分析报告长在一起,就像植物人直接从土壤里开出花朵!

Jupyter Notebook的出色功能

特点:Jupyter Notebook是"程序员的互动式魔法书",一边写代码一边看结果,还能插入解释文字和公式,简直是数据科学家的"边写边测边画图"的全能工具。

三大必杀技:

1、 实时互动模式 :写一行代码,按Shift+Enter立刻看结果,比微信秒回还快; 2、 文档化神器 :用Markdown给每段代码加注释、插入公式,直接生成可执行的"带代码的论文"; 3、跨语言混搭:Python写完数据预处理,R画个图,Julia跑个模型------像乐高一样拼接不同语言的代码块。

实用场景

1. 数据科学家远程调试模型
  • 痛点:"我的服务器在办公室,周末在家想改代码?得连VPN还可能被防火墙拦住。"
  • 爽点:用Jupyter Notebook+cpolar穿透局域网,在手机上直接访问服务器里的Notebook,像本地操作一样修改、训练模型。
2. 学生宿舍的"救命稻草"
  • 痛点:"机房电脑没装Python库,想写作业只能在教室熬夜!"
  • 爽点:用Jupyter Notebook容器化部署(比如Docker),再用cpolar映射端口------在家用笔记本或手机就能远程访问宿舍电脑里的Notebook环境。
3. 团队协作的"无影脚本"
  • 痛点:"我们一起做项目,但代码和分析文档总对不上号!"
  • 爽点:Jupyter支持实时多人协同(像Google Docs一样),配合cpolar穿透网络限制,团队成员即使在不同城市也能同步改代码、看结果。

cpolar内网穿透技术带来的便利

  • 一句话总结:"把你的魔法本变成'云笔记本'"
  • 安装cpolar后,只需一条命令就能将Jupyter Notebook的本地端口(比如8888)映射到公网,从此无论在咖啡厅、地铁还是火星基地,都能通过手机或平板远程访问。再也不用纠结"代码在公司电脑上,回家想改怎么办"的难题!

总结

  • Jupyter Notebook+cpolar=数据科学家的"跨次元传送门" :

    • Jupyter让你把代码、分析和文档融为一体;
    • cpolar帮你突破网络限制,让魔法本随时随地可用。
  • 组合效果?就像给你的笔记本电脑装上翅膀,在任何地方都能自由编程!

让你无论在何方都能自由编程的秘籍来喽,赶紧修炼起来吧!

本文主要介绍如何在Ubuntu系统中使用Docker本地部署Jupyter Notebook,并结合cpolar内网穿透工具实现任意浏览器公网远程访问Jupyter登录界面。

本文中使用的操作系统为Ubuntu 22.04

1. 安装Docker步骤

添加Docker源

bash 复制代码
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
​
# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

安装 Docker 包

arduino 复制代码
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

通过运行映像来验证 Docker 引擎安装是否成功

arduino 复制代码
sudo docker run hello-world

此命令下载测试映像并在容器中运行它。当容器运行,它打印确认消息并退出。

2. 选择与拉取镜像

本教程中我们以jupyter/base-notebook这个基础版本镜像为例,进行镜像拉取。

执行命令:

bash 复制代码
sudo docker pull jupyter/base-notebook

执行命令后稍等一会儿就可以看到jupyter/base-notebook镜像已经拉取完毕。

执行命令:

复制代码
sudo docker images

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

3. 创建容器

在拉取了Jupyter镜像后,我们就可以使用Docker创建容器来运行Jupyter Notebook了。

执行命令:

arduino 复制代码
sudo docker run -d -p 8888:8888 jupyter/base-notebook

即可创建一个在后台运行的名为jupyter的容器,并将本地端口8888映射到容器的8888端口。

执行命令:

复制代码
sudo docker ps

可以看到容器已经成功运行了。

4. 访问Jupyter工作台

此时,我们在浏览器中输入本机ip地址加端口即可访问Jupyter工作台:

arduino 复制代码
http://127.0.0.1:8888

可以看到,顶部显示我们需要输入密码或者token进行登录。

token获取可以在终端中执行命令sudo docker logs 你的Jupyter容器id进行查看:

在显示的信息底部,可以看到一长串的字符构成的token,下图红框中67f4开头,ec38结尾的这个即是。

将这串字符复制下来,回到刚才打开的浏览器中进行粘贴:

点击log in登录,即可进入Jupyter工作台:

如上图显示,则表示已经成功登录。

不过由于token不方便记忆,所以可以登出后重新登录界面,使用token来设置或修改密码,之后即可使用密码登录。

确认后,会自动跳转到工作台界面:

点击功能导航中的File,选择Log Out,即可登出,之后再登录工作台就可以在顶部输入刚才设置的密码登录了。

5. 远程访问Jupyter工作台

现在,我们可以在本地使用浏览器登录使用Docker部署的Jupyter工作台了。

在工作台中选择Notebook下的Python3(ipykernel),即可创建一个.ipynb文件,开始愉快的使用Jupyer Notebook了。

不过我们只能在本地使用刚刚部署的Jupyer Notebook,如果身在异地,想要远程访问在本地部署的Jupyer Notebook容器,但又没有公网ip怎么办呢?

我们可以使用cpolar内网穿透工具来实现无公网ip环境下的远程访问需求。

5.1 内网穿透工具安装

下面是安装cpolar步骤:

cpolar官网地址: www.cpolar.com

  • 使用一键脚本安装命令
ruby 复制代码
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 向系统添加服务
bash 复制代码
sudo systemctl enable cpolar
  • 启动cpolar服务
sql 复制代码
sudo systemctl start cpolar

cpolar安装成功后,在外部浏览器上访问Linux 的9200端口即:【http://服务器的局域网ip:9200】,使用cpolar账号登录,登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可。

5.2 创建远程连接公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理------创建隧道:

  • 隧道名称:可自定义,注意不要与已有的隧道名称重复,本例使用了:jup
  • 协议:http
  • 本地地址:8888
  • 域名类型:随机域名
  • 地区:选择China Top

点击创建

创建成功后,打开左侧在线隧道列表,查看刚刚创建隧道后生成两个公网地址,接下来就可以在其他电脑(异地)上,使用任意一个地址复制到浏览器访问即可。

可以看到,能够正常公网远程访问。

输入密码后即可实现在公网远程登录本地内网部署的Jupyer Notebook工作台界面。

小结

为了方便演示,我们在上边的操作过程中使用了cpolar生成的http公网地址隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

如果有长期远程访问Jupyter Notebook的需求,但又不想每天重新配置公网地址,还想地址好看又好记,那我推荐大家选择使用固定二级子域名地址的方式来远程访问。

5.3 使用固定二级子域名地址远程访问

接下来保留一个固定http地址,登录cpolar官网,点击左侧的预留,找到保留二级子域名,为远程服务器连接保留一个固定二级子域名地址:

  • 地区:选择China VIP
  • 描述:即备注,可自定义,本例使用jup123

点击保留

地址保留成功后,复制生成的公网地址,打开cpolar web ui管理界面,点击左侧仪表盘的隧道管理------隧道列表,找到我们刚才创建的随机公网地址隧道 jup ,点击编辑

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

  • 域名类型:选择二级子域名
  • 预留的http地址:复制粘贴官网保留成功的地址,本例中为:jup123
  • 地区选择:China VIP

点击更新

隧道更新成功后,点击左侧仪表盘的状态------在线隧道列表,可以看到公网地址已经更新为了两个固定二级子域名地址。

接下来与之前的操作一样,可以在其他电脑(异地)上,使用任意一个固定二级子域名地址复制到浏览器访问即可。

如上图所示,即为配置成功。我们现在就能在公网使用cpolar内网穿透工具生成的永久不变的固定二级子域名,使用任意浏览器远程访问Jupyter Notebook工作台了,无需购买域名服务器,也不用设置路由器那么麻烦,轻松实现大家远程访问本地服务的需求!

通过Jupyter Notebook、Docker容器化部署与cpolar内网穿透技术的协同应用,开发者能够构建出既安全可靠又高度灵活的工作流。无论是远程教学场景下的实时代码演示,还是分布式团队的模型迭代协作,这种组合方案都展现了强大的生产力提升潜力------它不仅是工具链的简单叠加,更是现代开发范式下资源管理与网络访问的最佳实践。

相关推荐
东风西巷1 小时前
Balabolka:免费高效的文字转语音软件
前端·人工智能·学习·语音识别·软件需求
萌萌哒草头将军1 小时前
10个 ES2025 新特性速览!🚀🚀🚀
前端·javascript·vue.js
堆栈future1 小时前
我的个人网站上线了,AI再一次让我站起来了
程序员·llm·aigc
半夏陌离2 小时前
SQL 入门指南:排序与分页查询(ORDER BY 多字段排序、LIMIT 分页实战)
java·前端·数据库
whysqwhw2 小时前
鸿蒙工程版本与设备版本不匹配
前端
gnip2 小时前
http缓存
前端·javascript
我不只是切图仔3 小时前
我只是想给网站加个注册验证码,咋就那么难!
前端·后端
大模型教程3 小时前
AI Agent 发展趋势与架构演进
程序员·llm·agent
该用户已不存在3 小时前
macOS是开发的终极进化版吗?
前端·后端
小豆包api3 小时前
小豆包AI API × Nano Banana:3D手办 + AI视频生成,「动起来」的神级玩法!
前端·api