Vercel News

Deploy a container from a plain Dockerfile

8.5内容质量

TL;DR · AI 摘要

Vercel 现支持通过普通 Dockerfile 部署容器,使用 Container runtime 并采用 Active CPU 计费模式,需在 vercel.json 中设置 framework: 'container'。

核心要点

  • 使用 Dockerfile 时需设置 framework: 'container' 以避免框架冲突
  • Container runtime 处于 Beta 阶段并采用 Active CPU 计费模式
  • 多服务项目仍需通过 vercel.json services 配置入口点

结构提纲

按章节快速跳转。

  1. Vercel 现支持通过 Dockerfile 部署容器,适用于未检测到其他框架的项目。

  2. 提供包含 node:26-alpine 基础镜像和 srvx 服务的 Dockerfile 示例代码。

  3. 当检测到 Django 等框架时,该框架仍优先于 Dockerfile 部署。

  4. 通过 vercel project update 命令或 vercel.json 文件设置 framework: 'container'。

  5. 多服务项目仍需使用 vercel.json services 配置各服务入口点。

  6. Container runtime 处于 Beta 阶段,基于 Vercel Functions 并采用 Active CPU 计费。

思维导图

用一张图看清主题之间的关系。

查看大纲文本(无障碍 / 无 JS 友好)
  • Vercel 容器部署
    • Dockerfile 配置
      • node:26-alpine 基础镜像
      • srvx 服务安装
    • 框架设置
      • vercel.json 配置
      • 命令行更新
    • 运行时特性
      • Beta 阶段
      • Active CPU 计费

金句 / Highlights

值得收藏与分享的关键句。

#Docker#Vercel#容器部署#CI/CD
打开原文

从基础 Dockerfile 部署容器 - Vercel

现在你可以在 Vercel 的容器运行时上部署基础的根 Dockerfile 或 Containerfile(当未检测到其他框架时)。Vercel 会选用容器预设配置,构建该文件,并将所有流量路由到生成的镜像。要在 Vercel 上使用容器,请添加一个 Dockerfile:

Dockerfile

code
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

code
1
{
2
"framework"
:
"container"
3
}

Dockerfile.vercel 或 Containerfile.vercel 仍会优先于检测到的框架,多服务项目仍使用 vercel.json services 并通过每个服务的入口点进行配置。

容器运行时目前处于测试阶段,运行在 Vercel Functions 上,并按活跃 CPU 定价计费。阅读容器运行时文档以开始使用。