核心是两步:一键启动jupyter容器并配置内网穿透实现远程访问;通过docker run命令拉起带端口映射、目录挂载和token认证的容器,再用花生壳或cpolar打通外网,支持手机、公司电脑等任意设备安全访问。

用 Docker 部署 Jupyter Notebook 并实现远程访问,核心就两步:快速启动容器 + 突破本地网络限制。不需要装 Python 环境、不用配依赖,一条命令就能跑起来,再加一个内网穿透工具,手机、公司电脑、出差酒店都能连上你的笔记环境。
用 Docker 一键拉起 Jupyter 容器
确保已安装 Docker(Windows 可用 WSL2 或 Docker Desktop,Linux/macOS 直接终端运行),然后执行:
-
拉取镜像:运行
docker pull jupyter/base-notebook(轻量基础版,适合大多数场景);也可选jupyter/scipy-notebook或jupyter/tensorflow-notebook等带预装库的版本 -
启动容器:运行以下命令(含关键参数说明):
docker run -d --name jupyter -p 8888:8888 -v /path/to/your/notebooks:/home/jovyan/work -e JUPYTER_TOKEN="mypass123" jupyter/base-notebook -
参数含义:
•-p 8888:8888把容器内服务端口映射到本机
•-v挂载本地目录,确保笔记本文件不随容器删除而丢失
•-e JUPYTER_TOKEN直接设登录口令,避免每次查日志找 token
本地验证是否成功运行
容器启动后,在浏览器打开 http://localhost:8888,输入你设置的 token(如 mypass123),即可进入界面。若打不开,检查:
- 执行
docker ps确认容器状态为Up - 执行
docker logs jupyter查看是否有报错(比如端口被占、权限问题) - Windows 用户注意:WSL2 中需用
http://<wsl-ip>:8888</wsl-ip>,而非 localhost
让外网设备也能安全访问
家用宽带普遍无公网 IP,路由器也常无法改配置——这时必须借助内网穿透。主流方案有两种:
-
花生壳(适合 Windows/macOS 主机):下载客户端 → 登录账号 → 添加 HTTPS 映射,内网地址填
127.0.0.1,端口填8888→ 得到类似xxx.vicp.net的域名,直接浏览器打开即可 -
cpolar(推荐 Linux 服务器或命令行党):安装后运行
cpolar http 8888,会返回一个临时公网 URL;升级为固定二级域名(如myjupyter.cpolar.io)可长期使用 -
安全建议:
• 开启穿透工具的「访问口令」功能(额外一层密码)
• 关闭 Jupyter 的--allow-root(除非必要),避免 root 权限暴露
• 不要将 token 设为简单字符串(如 123456),也不要在 URL 中明文传递
进阶:让远程访问更稳定好用
日常使用中几个实用技巧:
- 把容器设为开机自启:
docker update --restart=always jupyter - 想换端口?改
-p 9999:8888即可,同时穿透工具里同步更新内网端口 - 需要上传大文件或 Git 同步?在挂载目录下操作,所有改动实时保存到本地硬盘
- 多人协作时,可配合
jupyterhub镜像实现多用户隔离,但需额外配置认证和资源限制











