Deploy a container from a plain Dockerfile
TL;DR · AI 摘要
Vercel 现支持通过普通 Dockerfile 部署容器,使用 Container runtime 并采用 Active CPU 计费模式,需在 vercel.json 中设置 framework: 'container'。
核心要点
- 使用 Dockerfile 时需设置 framework: 'container' 以避免框架冲突
- Container runtime 处于 Beta 阶段并采用 Active CPU 计费模式
- 多服务项目仍需通过 vercel.json services 配置入口点
结构提纲
按章节快速跳转。
Vercel 现支持通过 Dockerfile 部署容器,适用于未检测到其他框架的项目。
提供包含 node:26-alpine 基础镜像和 srvx 服务的 Dockerfile 示例代码。
当检测到 Django 等框架时,该框架仍优先于 Dockerfile 部署。
- ·配置方法
通过 vercel project update 命令或 vercel.json 文件设置 framework: 'container'。
多服务项目仍需使用 vercel.json services 配置各服务入口点。
Container runtime 处于 Beta 阶段,基于 Vercel Functions 并采用 Active CPU 计费。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- Vercel 容器部署
- Dockerfile 配置
- node:26-alpine 基础镜像
- srvx 服务安装
- 框架设置
- vercel.json 配置
- 命令行更新
- 运行时特性
- Beta 阶段
- Active CPU 计费
金句 / Highlights
值得收藏与分享的关键句。
当检测到其他框架时,如 Django,该框架仍优先于 Dockerfile 部署。
Container runtime 处于 Beta 阶段,基于 Vercel Functions 并采用 Active CPU 计费模式。
Dockerfile.vercel 或 Containerfile.vercel 优先级高于自动检测的框架。
从基础 Dockerfile 部署容器 - Vercel
现在你可以在 Vercel 的容器运行时上部署基础的根 Dockerfile 或 Containerfile(当未检测到其他框架时)。Vercel 会选用容器预设配置,构建该文件,并将所有流量路由到生成的镜像。要在 Vercel 上使用容器,请添加一个 Dockerfile:
Dockerfile
1
FROM
node:26-alpine
2
3
RUN
npm i -g srvx
4
5
COPY
. /app
6
WORKDIR
/app
7
8
EXPOSE
3000
9
CMD
[
"srvx"
,
"--port"
,
"3000"
]当项目检测匹配到其他框架(如 Django)时,该框架仍会优先使用。要使用 Dockerfile 或 Containerfile 进行构建,请运行 vercel project update --framework container,或在 vercel.json 中设置框架:
vercel.json
1
{
2
"framework"
:
"container"
3
}Dockerfile.vercel 或 Containerfile.vercel 仍会优先于检测到的框架,多服务项目仍使用 vercel.json services 并通过每个服务的入口点进行配置。
容器运行时目前处于测试阶段,运行在 Vercel Functions 上,并按活跃 CPU 定价计费。阅读容器运行时文档以开始使用。