Jupyter:Notebook 与数据分析环境
JupyterLab 是交互式 Notebook、终端与数据分析环境。Pigsty v4.5.0 有两种不同的部署方式:
VIBE模块:由 Ansible 和 systemd 管理,适合 v4.5.0 的完整开发沙箱。app/jupyter:轻量的独立 Docker Compose 模板,本页介绍这一方式。
app/jupyter 不是默认 apps 清单项,且创建数据目录是独立步骤;不要直接假设 app.yml -e app=jupyter 能处理目录权限。

快速开始
可用 openssl rand -hex 32 生成强 Token。默认端口为 8888,从 http://<host_ip>:8888 访问。
只有在 infra_portal、Nginx 与 DNS 中配置了 lab.pigsty 时,该域名才可用。模板默认值 JUPYTER_TOKEN=pigsty 只能用于本地演示,生产环境必须更换。
当前模板
.env 的 v4.5.0 默认值为:
Compose 将宿主机 /data/jupyter 挂载到容器的 /home/jovyan/work,并把 Token 传给容器。latest 会随上游变化;生产环境应改为经过验证的具体镜像标签或摘要。
若需要 SciPy、R、Julia、TensorFlow、PyTorch 或 Spark,可使用 .env 中列出的其他 Jupyter Docker Stacks 镜像,但仍应固定版本并验证架构支持。
访问 PostgreSQL
在 Jupyter Terminal 中安装现代 Psycopg 驱动及可选分析库:
不要把真实密码写入 Notebook。以下示例通过隐藏输入获得连接串,只读取系统信息:
使用 Pandas 与 SQLAlchemy 查询系统统计视图:
这些示例只访问系统视图。读取业务表前,应得到数据所有者授权,并限制列、条件和结果规模。
持久化与依赖
只有 /home/jovyan/work 映射到 /data/jupyter。以下内容默认不会随容器重建持久化:
- 在容器环境中临时安装的 Python/Conda 包
work目录以外的 Notebook、配置与缓存- 容器自身的用户状态
生产环境应通过固定镜像、定制 Dockerfile 或可复现的依赖文件安装包,并单独备份 /data/jupyter。持久卷不能替代备份。
管理命令
在 ~/pigsty/app/jupyter 中:
make clean 会移除容器但保留 /data/jupyter;make purge 会递归删除 /data/jupyter,属于不可恢复的数据删除操作,执行前必须确认精确目录与近期备份。
安全建议
- 使用随机强 Token,保护
.env,不要禁用认证。 - 默认端口映射监听主机网络;用防火墙限制来源,优先通过 Nginx 与有效 HTTPS 证书访问。
- Notebook 可执行任意代码并访问挂载文件与数据库;只授予最小权限的数据库账号和宿主机目录。
- 固定镜像版本、扫描镜像并对依赖升级做可复现验证。
- 定期备份
/data/jupyter,并实际验证恢复到临时目录。
相关链接
这个页面对您有帮助吗?
感谢反馈,我们会据此改进这篇文档。
哪里没有解决?(可选)