vespaengine/vespa-pipelineVespa 应用编译 Docker 镜像是一个最小化镜像,专为 Vespa 应用的编译流程设计。其主要用途是提供经过验证的 Maven 和 JDK 版本,以及集成 Vespa 命令行工具(vespa-cli),支持 Vespa 应用的构建、打包和部署操作。该镜像旨在简化 Vespa 应用的编译环境配置,确保开发、测试和生产环境中工具版本的一致性。
通过 Docker Hub 拉取最新版本镜像:
bashdocker pull vespaengine/vespa-pipeline
如需指定版本,可在镜像标签后添加版本号(例如 vespaengine/vespa-pipeline:8.289.17),具体版本列表可参考 Vespa 官方镜像仓库。
将本地 Vespa 应用代码目录挂载到容器中,执行 Maven 编译命令:
bashdocker run --rm -v $(pwd):/app -w /app vespaengine/vespa-pipeline \ mvn clean install
--rm:容器退出后自动删除。-v $(pwd):/app:将当前目录(Vespa 应用代码根目录)挂载到容器内 /app 路径。-w /app:设置工作目录为 /app,即应用代码目录。mvn clean install:执行 Maven 清理并编译打包。编译完成后,可通过 vespa-cli 部署应用至 Vespa 集群(需提前配置集群访问信息):
bashdocker run --rm -v $(pwd):/app -w /app \ -e VESPA_CLI_HOME=/root/.vespa \ # 指定 vespa-cli 配置目录 -v ~/.vespa:/root/.vespa \ # 挂载本地 vespa-cli 配置(包含集群认证信息) vespaengine/vespa-pipeline \ vespa deploy target/application.zip # 部署编译后的应用包
在 CI 环境中,可通过 docker-compose 定义服务,实现编译与部署流程的自动化。以下是 docker-compose.yml 示例:
yamlversion: '3.8' services: vespa-build: image: vespaengine/vespa-pipeline volumes: - ./app:/app:ro # 挂载应用代码(只读) - ./maven-repo:/root/.m2/repository # 挂载 Maven 本地仓库,加速依赖下载 - ./vespa-config:/root/.vespa # 挂载 vespa-cli 配置(包含集群认证) working_dir: /app command: > sh -c "mvn clean install && vespa deploy target/application.zip"
说明:
./app:本地 Vespa 应用代码目录。./maven-repo:本地 Maven 仓库目录,避免重复下载依赖。./vespa-config:包含 vespa-cli 配置文件(如 config.yaml),配置集群地址、认证信息等。该镜像默认集成以下工具,相关配置可通过环境变量或挂载配置文件调整:
| 工具 | 说明 | 配置方式 |
|---|---|---|
| Maven | 版本随镜像更新,确保与 Vespa 兼容(具体版本参考官方镜像标签说明) | 通过 -v ~/.m2/settings.xml:/root/.m2/settings.xml 挂载自定义 Maven 配置 |
| JDK | 包含 OpenJDK,版本与 Vespa 编译要求匹配 | 无需额外配置,默认环境变量 JAVA_HOME 已设置 |
| vespa-cli | Vespa 命令行工具,用于应用部署、集群管理等 | 通过 -e VESPA_CLI_HOME 指定配置目录,或挂载 ~/.vespa 目录 |
本镜像基于 Apache License, Version 2.0 许可。

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