如何使用continuumio/anaconda3 Docker镜像运行Conda版Jupyter Notebook?
用continuumio/anaconda3镜像启动Jupyter Notebook的正确方式
刚好我之前折腾过这个镜像,给你分享下亲测有效的操作流程,分基础版和进阶版,按需选择:
1. 先拉取镜像(如果还没做的话)
打开终端,先把镜像拉到本地:
docker pull continuumio/anaconda3
2. 基础启动命令(快速上手)
直接运行这条命令,就能启动可通过浏览器访问的Jupyter服务:
docker run -it --rm -p 8888:8888 continuumio/anaconda3 jupyter notebook --ip=0.0.0.0 --allow-root --no-browser
给你拆解下每个参数的作用:
-it:让容器保持交互式终端状态,方便你查看Jupyter的日志输出--rm:容器停止后自动删除,避免机器里堆积无用容器-p 8888:8888:把容器内部的8888端口映射到主机的8888端口,这是浏览器访问的入口--ip=0.0.0.0:让Jupyter监听容器的所有网卡,确保主机能访问到容器内的服务--allow-root:这个镜像默认用root用户运行,Jupyter默认禁止root启动,必须加这个参数授权--no-browser:容器内没有图形界面,无需启动内置浏览器,直接用主机浏览器访问即可
3. 进阶版:挂载本地目录(保存笔记不丢失)
如果不想容器删除后笔记随之消失,建议挂载本地目录到容器,让笔记直接存在主机上:
docker run -it --rm -p 8888:8888 -v /你本地的笔记目录路径:/home/jovyan/work continuumio/anaconda3 jupyter notebook --ip=0.0.0.0 --allow-root --no-browser --notebook-dir=/home/jovyan/work
替换/你本地的笔记目录路径成实际路径(比如Windows是C:\Users\你的用户名\notebooks,Linux/macOS是/Users/你的用户名/notebooks),启动后Jupyter的工作目录就是你挂载的本地目录,新建笔记会直接保存在本地。
4. 访问Jupyter Notebook
启动容器后,终端会输出一串类似这样的链接:
http://127.0.0.1:8888/?token=abcdefghijklmnopqrstuvwxyz1234567890
把这个链接复制到主机浏览器打开,就能进入Jupyter界面开始使用了!
常见问题排查
- 浏览器无法访问:检查主机8888端口是否被其他程序占用,可换个端口试试,比如把
-p 8888:8888改成-p 8889:8888,然后访问http://127.0.0.1:8889 - 启动时报Permission denied:确认命令里加了
--allow-root参数,这是root用户启动Jupyter的必要授权 - 挂载目录后无法读写:检查本地目录的权限,或者在启动命令里追加
--user root(不过镜像默认已是root用户,一般无需额外设置)
内容的提问来源于stack exchange,提问作者Mumbaikar007




