You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

服务器部署Jupyter Notebook遇ERR_CONNEXION REFUSED错误求助

解决Jupyter Notebook Docker容器访问被拒绝的问题

嘿,咱们先梳理下你操作里的几个小问题,然后一步步搞定这个访问被拒的情况:

1. 先纠正一个多余操作:镜像自带Jupyter,不用再装

jupyter/scipy-notebook这个官方镜像本身就预装了完整的Jupyter环境,你进入容器后再跑pip3 install jupyter完全没必要,甚至可能覆盖原有版本导致奇怪的冲突。直接用镜像自带的启动流程就好。

2. 修正Docker启动命令(关键!)

你之前的启动命令缺了几个核心参数,导致容器里的服务没法被外部正常访问。试试这个正确的启动命令:

docker run -d -p 8888:8888 --name my-jupyter jupyter/scipy-notebook:33add21fab64 start-notebook.sh --NotebookApp.allow_root=True --NotebookApp.ip=0.0.0.0

给你解释下这些参数:

  • -d:让容器在后台运行,避免你关掉终端后容器就停了
  • --name my-jupyter:给容器起个好记的名字,后续管理更方便
  • start-notebook.sh:镜像自带的启动脚本,会自动处理token生成、环境配置这些事儿
  • --NotebookApp.allow_root=True:允许用root权限运行(镜像默认用jovyan用户,要是你需要root操作就加这个)
  • --NotebookApp.ip=0.0.0.0:让Jupyter监听容器内所有网卡,确保外部能连上

3. 获取正确的访问链接和Token

容器启动后,跑这条命令看日志拿Token:

docker logs my-jupyter

日志里会有类似这样的链接:

http://127.0.0.1:8888/lab?token=xxxxxxxxx...

把链接里的127.0.0.1换成服务器的IP172.172.10.10,在本地浏览器打开这个地址就行。

4. 排查网络连通性(如果还是不行)

要是按上面的来还是显示连接被拒,得检查这几点:

  • 服务器的防火墙/安全组有没有开8888端口?得确保入站规则允许你的本地IP访问8888端口
  • 本地能不能ping通172.172.10.10?要是ping不通,先解决服务器的网络可达性问题
  • 看看容器是不是正常运行:docker ps,确保容器状态是Up
  • 进容器里测下端口有没有被监听:docker exec -it my-jupyter bash,然后跑netstat -tulpn | grep 8888,应该能看到Jupyter在监听0.0.0.0:8888

5. 要是你非得手动启动(不推荐)

如果你就是想自己进容器启动Jupyter,那得保证容器启动方式和启动命令都对:

  1. 先启动容器并映射端口(用交互模式):
docker run -it -p 8888:8888 --name my-jupyter jupyter/scipy-notebook:33add21fab64 bash
  1. 进容器后直接启动(别再pip装了!):
jupyter notebook --ip 0.0.0.0 --no-browser --allow-root

然后复制日志里的链接,替换IP后访问就行。


内容的提问来源于stack exchange,提问作者biwia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 22:32:30