Vercel Blog→ оригинал

Vercel научилась запускать любой Dockerfile на платформе Fluid compute

Vercel добавила поддержку произвольных Dockerfile: файл Dockerfile.vercel — и платформа сама соберёт образ, сохранит в реестре проекта и развернёт на Fluid compute с оплатой только за фактически использованный CPU. Подходят Go, Rails, Spring Boot, Express, Laravel, ASP.NET, FastAPI — единственное условие: сервер слушает порт из переменной $PORT. Каждый git push создаёт отдельный preview-деплой с постоянным URL.

AI-обработка оригинала Vercel Blog; редакция Hamidun News
Vercel научилась запускать любой Dockerfile на платформе Fluid compute
Источник: Vercel Blog. Коллаж: Hamidun News.
◐ Слушать статью

Vercel добавила в свою платформу поддержку произвольных контейнеров: разработчики теперь могут задеплоить любой сервис с Dockerfile — от сервиса на Go до приложения на Rails или Spring Boot — просто добавив файл Dockerfile.vercel в корень проекта, и платформа сама соберёт образ и развернёт его на инфраструктуре Fluid compute.

Как это работает

Механизм минимален: сам сервер и файл Dockerfile.vercel — и проект готов к деплою. Vercel показывает пример на Go: HTTP-сервер, который слушает порт из переменной $PORT (по умолчанию 80), собирается через двухэтапный Dockerfile — сначала образ golang:1.24-alpine компилирует бинарник, затем он копируется в минимальный образ alpine:3.20, который и запускается в проде.

Команда `vercel deploy` из CLI собирает образ, сохраняет его в реестре проекта и разворачивает на Fluid compute, возвращая production-URL. Каждый git push автоматически пересобирает образ и создаёт отдельный preview-деплой с неизменяемым URL, который можно открыть, отправить коллегам или использовать для отката к прежней версии.

  • Единственное требование к серверу — слушать HTTP-порт из переменной $PORT
  • Пример в блоге собран на связке golang:1.24-alpine и alpine:3.20 в двухэтапной сборке
  • Деплой запускается одной командой `vercel deploy` из CLI, либо автоматически по git push
  • Поддерживаются Rails, Spring Boot, Express, Laravel, ASP.NET, FastAPI и сервисы за nginx

Какие языки и фреймворки поддерживаются

Vercel подчёркивает, что конкретный стек не имеет значения — работает любой сервис, который умеет говорить по HTTP и слушать порт. В список явно попали Rails, Spring Boot, Express, Laravel, ASP.NET, FastAPI и веб-серверы за nginx, включая Java и PHP — платформы, которые раньше ассоциировались скорее с классическим серверным хостингом, чем с serverless-инфраструктурой Vercel.

Что получают разработчики

Контейнер на Vercel становится полноценным гражданином платформы: он работает на той же инфраструктуре, что и фронтенд и остальные сервисы проекта. Каждый коммит получает свой preview-деплой с отдельным URL, а масштабирование происходит автоматически в обе стороны — при росте трафика платформа добавляет инстансы, при падении трафика сворачивает их, избавляя команду от необходимости вручную рассчитывать размер флота или лимит конкурентности.

Тарификация построена на модели Active CPU: Fluid compute выставляет счёт только за то время, когда код сервиса реально выполняется, а не за всё время жизни инстанса. Это значит, что простаивающий сервер, зависший на медленном запросе к базе данных, не обходится команде дороже, чем активно работающий.

Что это значит

Функция Dockerfile.vercel стирает границу между serverless-платформами вроде Vercel и классическими контейнерными облаками: теперь любой сервис на Java, PHP или Ruby можно развернуть без настройки собственного реестра образов, демона или кластера, получив при этом автомасштабирование и preview-деплои по умолчанию.

Частые вопросы

Какие требования нужны серверу для деплоя?

Единственное условие — сервер должен слушать HTTP на порту из переменной окружения $PORT (по умолчанию 80). Если сервис отвечает на HTTP-запросы, его можно завернуть в Dockerfile.vercel и задеплоить.

Что происходит при каждом коммите?

Каждый git push пересобирает образ и создаёт отдельный preview-URL, который можно открыть, отправить другим или использовать для отката к предыдущей версии проекта.

На каких фреймворках это работает?

Rails, Spring Boot, Express, Laravel, ASP.NET, FastAPI и сервисы за nginx — в примере из блога Vercel использована связка golang:1.24-alpine и alpine:3.20 в двухэтапной сборке.

ЖХ
Hamidun News
AI‑новости без шума. Ежедневный редакторский отбор из 50+ источников. Продукт Жемала Хамидуна, Head of AI в Alpina Digital.

Хотите не читать про ИИ, а внедрить его?

«AI News» — это полезные новости из мира ИИ. Системно научиться работать с нейросетями и применять их в работе — в Hamidun Academy.

Что вы думаете?
Загружаем комментарии…