Docker部署Jupyter Notebook:零基础也能

Docker部署Jupyter Notebook:零基础也能搞定的容器化环境


使用Docker部署Jupyter Notebook是目前最省心的方式之一,不用在服务器上手动配置Python环境和各种依赖,一条命令就能拉起完整的交互式编程环境。

本文面向零基础用户,从准备工作到最终访问,每一步都写清楚命令和注意事项,跟着做就能跑起来。


第一步:确认服务器已安装Docker


在开始之前,确保你的服务器已经装有Docker。

如果还没有安装,可以用下面的一键脚本(适用于CentOS 7+/Ubuntu 20.04+):


curl -fsSL https://get.docker.com | bash -s docker

安装完成后,启动Docker服务并设置开机自启:


sudo systemctl start docker
sudo systemctl enable docker

验证Docker是否正常工作:


docker version

看到Client和Server的版本信息就说明环境就绪了。


注意:如果你是用普通用户执行命令,需要加sudo,或者将当前用户加入docker组。

第二步:拉取Jupyter镜像并启动容器


Docker Hub上官方提供的镜像有好几种,这里以jupyter/base-notebook为例(体积较小,适合入门)。

执行以下命令拉取最新版:


docker pull jupyter/base-notebook:latest

拉取完成后,运行容器。

最简单的启动方式:


docker run -p 8888:8888 --name my-jupyter jupyter/base-notebook


  • -p 8888:8888:将容器内的8888端口映射到主机的8888端口,这样你就能通过http://服务器IP:8888访问。

  • --name my-jupyter:给容器起个名字,方便后续管理。


启动后,控制台会打印一串包含token的URL,像这样:


http://127.0.0.1:8888/?token=abc123...

复制这个token,在你本机浏览器访问http://你的服务器公网IP:8888,输入token即可登录。


第三步:挂载数据卷保存你的工作文件


默认情况下,容器内创建的所有文件(.ipynb笔记本、上传的数据等)在容器删除后会丢失。

为了让文件持久保存,需要将主机上的一个目录挂载到容器的/home/jovyan/work(Jupyter工作目录)。


先创建主机上的数据目录:


mkdir -p /data/jupyter_work

然后重新运行容器(加上数据卷挂载参数):


docker run -d \
-p 8888:8888 \
-v /data/jupyter_work:/home/jovyan/work \
--name my-jupyter jupyter/base-notebook


  • -d:后台运行,不占用终端。

  • -v:卷挂载,格式为主机路径:容器路径


现在你在Jupyter里创建或上传的文件都会保存在/data/jupyter_work中,即使容器删除,数据也不会丢。


第四步:设置固定密码,告别每次查看token


每次启动容器都要从日志里找token很麻烦,可以预先设置一个固定密码。

使用以下命令生成密码(需要在容器内操作,但我们可以用一条命令直接生成):


# 先进入容器
sudo docker exec -it my-jupyter bash

在容器内执行

jupyter notebook password

按提示输入密码(比如:yourpass123),然后确认

退出容器后重启服务生效:


sudo docker restart my-jupyter

现在访问http://你的服务器IP:8888,直接用设置的密码登录即可,不再需要token。


安全提示:如果服务器有公网IP,建议同时开启防火墙,只允许可信IP访问8888端口,或者通过Nginx反向代理加上HTTPS。

排错指南:常见问题与解决方案



  1. 无法访问8888端口:检查服务器防火墙是否放行了8888端口。阿里云/腾讯云等云服务商还需在安全组规则中添加入站端口。

  2. 容器启动后立刻退出:运行docker logs my-jupyter查看错误日志,通常是端口被占用或挂载目录权限问题。尝试更换映射端口(如-p 8889:8888),或给挂载目录赋予777权限(测试用,生产环境需谨慎):


   chmod 777 /data/jupyter_work


  1. 忘记token:执行docker logs my-jupyter,在输出的末尾可以找到token;或者进入容器用jupyter notebook list查看。

  2. 挂载目录后文件不显示:请检查/data/jupyter_work目录是否为空,并确认容器内工作路径确实是/home/jovyan/work

  3. 执行命令需要sudo:将当前用户加入docker组:


   sudo usermod -aG docker $USER
newgrp docker

重新登录后生效。


完成上述步骤后,你已经拥有了一个长期可用的Jupyter Notebook服务器,随时可以打开浏览器写代码、做数据分析。

如果后续需要更换镜像(如jupyter/scipy-notebook包含更多科学计算库),只需替换镜像名称并重建容器即可,数据卷里的文件不受影响。

分享到:
上一篇
零基础也能操作:Linux内核升级稳定版完整步骤
下一篇
从零开始:手把手教你完成服务器堡垒机搭建
1
系统公告

泽御云五一特惠活动🔥

泽御云持证合规运营,资质齐全可查,长久稳定! 五一限时多重福利同步开启: ✅ 香港 2 核 2G 云服务器超值拼团,低价入手团长免费 ✅ 4 核 4G 多机房年付拼团,性价比拉满 ✅ 内蒙古新区限时 7 折(zeyuyunnmg)特惠,专属优惠码锁价续费 ✅ 全站通用 75 折优惠,老用户充值享专属赠金 官方站点:zeyuyun.com 合规资质齐全|售后有保障|活动限时错过不再有
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意