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

无法使用自定义容器创建GCP Vertex AI笔记本问题求助

问题诊断与修复方案

核心问题分析

你遇到的两个问题根源在于Vertex AI用户管理笔记本的默认行为和你的容器配置不匹配:

  • 文件缺失:Vertex AI会默认将Jupyter Lab的工作区指向/home/jupyter,但你的容器把代码放在了/app目录,所以打开笔记本后看不到自己的文件。
  • 内核无法连接:Jupyter的启动配置、Python内核路径和Vertex的预期不匹配,导致内核无法正常初始化。

修复步骤

1. 修改Dockerfile适配Vertex AI规则

把代码目录调整到/home/jupyter,同时修正Jupyter启动参数,确保工作区正确指向你的代码:

# 使用与Python版本匹配的Vertex官方基础镜像,避免依赖冲突
FROM gcr.io/deeplearning-platform-release/base-cpu.py38

# 安装系统依赖
RUN apt-get update && \
    apt-get install -y --no-install-recommends build-essential gcc && \
    rm -rf /var/lib/apt/lists/*

# 设置工作目录为Vertex默认的Jupyter工作区
WORKDIR /home/jupyter

# 拷贝requirements并安装依赖
COPY requirements.txt .
RUN pip install torch==2.0.1 && \
    pip install --no-cache-dir -r requirements.txt && \
    pip install jupyterlab google-cloud-storage

# 拷贝所有代码到/home/jupyter
COPY . /home/jupyter

# 暴露端口
EXPOSE 8080

# 启动Jupyter Lab,指定工作目录并适配Vertex内核要求
CMD ["jupyter", "lab", \
     "--port=8080", \
     "--ip=0.0.0.0", \
     "--no-browser", \
     "--ServerApp.token=''", \
     "--ServerApp.password=''", \
     "--allow-root", \
     "--notebook-dir=/home/jupyter"]

2. 重新构建并推送镜像

docker build -t gcr.io/[PROJECT-ID]/code:v3 .
docker push gcr.io/[PROJECT-ID]/code:v3

3. 创建Vertex笔记本的注意事项

  • 创建USER-MANAGED NOTEBOOK时,选择新推送的镜像。
  • 保留默认的工作区挂载设置,Vertex会自动处理/home/jupyter的权限配置。

之前尝试失败的原因

  • sleep infinity/无ENTRYPOINT:Vertex AI要求容器必须启动Jupyter服务并监听8080端口,sleep会让Vertex无法检测到服务状态,直接返回502;无ENTRYPOINT则容器没有启动命令,无法正常运行。
  • 官方镜像构建失败:你之前使用的是py37基础镜像,但安装了适配py38的torch,版本冲突导致构建失败,换成与Python版本匹配的官方镜像即可解决。

验证方法

  1. 本地运行新镜像,确认Jupyter Lab能加载所有代码:
docker run -p 8080:8080 gcr.io/[PROJECT-ID]/code:v3
  1. 云端创建笔记本后,打开即可看到data、model等目录,内核也能正常连接。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 06:06:21