
andreper/jupyterlab!docker-pull !docker-size
本镜像提供基于 Docker 的 Apache Spark 独立集群环境,并集成 JupyterLab 作为交互式操作界面。其核心用途是帮助用户快速构建包含 Spark 计算引擎和 JupyterLab 交互界面的一体化开发环境,无需手动配置复杂的 Spark 集群和依赖,适用于数据分析、机器学习模型开发、Spark 应用测试等场景。
bashdocker pull andreper/jupyterlab
通过以下命令启动包含 Spark 集群和 JupyterLab 的容器:
bashdocker run -d \ --name spark-jupyter \ -p 8888:8888 \ # JupyterLab 访问端口 -p 4040:4040 \ # Spark UI 端口(任务运行时开放) -v /本地工作目录:/home/jovyan/work \ # 挂载本地目录至容器工作区 -e SPARK_DRIVER_MEMORY=2g \ # 设置 Spark 驱动内存 -e SPARK_EXECUTOR_MEMORY=4g \ # 设置 Spark 执行器内存 andreper/jupyterlab
参数说明:
-p 8888:8888:映射 JupyterLab 端口(默认 8888),外部通过 http://localhost:8888 访问。-v /本地工作目录:/home/jovyan/work:将本地目录挂载至容器内 JupyterLab 的工作目录(/home/jovyan/work),实现文件持久化。-e SPARK_DRIVER_MEMORY:设置 Spark 驱动程序内存(默认 1g)。-e SPARK_EXECUTOR_MEMORY:设置 Spark 执行器内存(默认 2g)。创建 docker-compose.yml 文件,配置 Spark 主节点(master)和工作节点(worker):
yamlversion: '3' services: jupyterlab: image: andreper/jupyterlab container_name: spark-jupyter ports: - "8888:8888" # JupyterLab 端口 - "4040:4040" # Spark UI 端口 volumes: - ./workspace:/home/jovyan/work # 本地工作区挂载 environment: - SPARK_DRIVER_MEMORY=2g - SPARK_EXECUTOR_MEMORY=4g - SPARK_MASTER=spark://spark-master:7077 # 连接 Spark 主节点 depends_on: - spark-master - spark-worker-1 spark-master: image: andreper/jupyterlab # 复用镜像作为 master 节点 container_name: spark-master command: spark-class org.apache.spark.deploy.master.Master ports: - "7077:7077" # Spark Master 端口 - "8080:8080" # Spark Master UI 端口 environment: - SPARK_MASTER_HOST=spark-master spark-worker-1: image: andreper/jupyterlab # 复用镜像作为 worker 节点 container_name: spark-worker-1 command: spark-class org.apache.spark.deploy.worker.Worker spark://spark-master:7077 environment: - SPARK_WORKER_MEMORY=4g # Worker 节点内存 - SPARK_WORKER_CORES=2 # Worker 节点 CPU 核心数 depends_on: - spark-master
启动集群:
bashdocker-compose up -d
查看容器日志获取 JupyterLab 访问 token:
bashdocker logs spark-jupyter
日志中会包含类似以下内容:
[I 12:34:56.789 LabApp] JupyterLab application directory is /opt/conda/share/jupyter/lab [I 12:34:56.790 LabApp] Token: abcdef***abcdef*** [I 12:34:56.790 LabApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). [C 12:34:56.795 LabApp] To access the server, open this file in a browser: file:///home/jovyan/.local/share/jupyter/runtime/jpserver-1-open.html Or copy and paste one of these URLs: [***]
在浏览器中访问日志中的 URL(如 http://localhost:8888/lab?token=abcdef***abcdef***),即可进入 JupyterLab 界面。
| 环境变量 | 说明 | 默认值 |
|---|---|---|
SPARK_DRIVER_MEMORY | Spark 驱动程序内存(如 2g) | 1g |
SPARK_EXECUTOR_MEMORY | Spark 执行器内存(如 4g) | 2g |
SPARK_MASTER | Spark Master 地址(多节点模式需配置) | local[*] |
JUPYTER_PORT | JupyterLab 服务端口 | 8888 |
JUPYTER_TOKEN | 自定义 JupyterLab 访问 token | 自动生成 |
| 端口 | 用途 | 说明 |
|---|---|---|
| 8888 | JupyterLab 界面 | 必须映射,用于访问交互界面 |
| 4040 | Spark 应用 UI | Spark 任务运行时开放,用于监控作业 |
| 7077 | Spark Master 通信端口 | 多节点集群中 Worker 连接 Master 使用 |
| 8080 | Spark Master UI | 查看集群节点状态、资源使用情况 |
SPARK_MASTER 环境变量指定 Master 地址,Worker 节点需通过 spark-class org.apache.spark.deploy.worker.Worker 命令启动。-v 参数挂载本地目录,避免容器删除后数据丢失。SPARK_DRIVER_MEMORY、SPARK_EXECUTOR_MEMORY 等参数。


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务