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

如何让外部运行的Jupyter Server访问Docker容器内的内容?

让外部Jupyter Server访问Docker容器内内容的几种方案

一、启动容器时挂载本地目录(首推)

这是最实用的方式,启动容器时把容器内需要访问的目录挂载到本地主机的某个路径,外部Jupyter Server直接访问本地挂载目录,就能和容器内的目录双向同步内容。

举个例子,要把容器内的/app/workspace目录挂载到本地的~/jupyter-shared,执行以下命令启动容器:

docker run -v ~/jupyter-shared:/app/workspace 你的镜像名称

之后在Jupyter里读写~/jupyter-shared下的文件,就等同于操作容器内的/app/workspace,两边的文件会实时同步。

二、通过端口映射访问容器内服务

如果容器内运行了文件服务(比如用Python启动的HTTP文件服务器),你可以在启动容器时映射端口,然后在Jupyter里通过网络请求访问容器内的内容。

比如容器内启动了一个监听8000端口的HTTP文件服务,启动容器时执行:

docker run -p 8080:8000 你的镜像名称

然后在Jupyter的代码里用requests库获取文件内容:

import requests
file_content = requests.get('http://localhost:8080/data.txt').text

三、启动容器后复制文件(临时需求)

如果只是一次性需要获取容器内的文件,不用持续同步,直接用docker cp命令把容器内的文件复制到本地即可。

先查一下运行中容器的ID:

docker ps

然后执行复制命令,比如把容器内的/app/analysis.csv复制到本地~/jupyter-data:

docker cp 容器ID:/app/analysis.csv ~/jupyter-data

之后在Jupyter里直接访问本地的~/jupyter-data/analysis.csv就行。

方案选择建议

  • 要是需要长期双向同步开发内容,直接在启动容器时配置挂载卷,一次配置永久生效。
  • 要是需要实时访问容器内的服务型内容,用端口映射的方式,启动时配置端口即可。
  • 临时取文件的话,启动容器后用docker cp操作更省事。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 03:42:38