microsrv:~$
Консоль

Управление образами контейнеров

Добавление OCI-образов из реестров Docker Hub и GHCR, кэширование на узлах кластера и проверка совместимости с gVisor.

Поддержка OCI-образов

Платформа microsrv поддерживает запуск любых стандартных OCI-образов (Open Container Initiative), собранных с помощью Docker, Podman, Buildah или CI/CD-пайплайнов.

Вы можете импортировать образы из публичных и приватных реестров контейнеров:

  • Docker Hub: nginx:1.27, postgres:16-alpine, python:3.12-slim, node:20-bookworm-slim
  • GitHub Packages (GHCR): ghcr.io/my-org/my-service:v1.0.0
  • Quay.io, GitLab Container Registry и любые OCI-совместимые реестры.

Добавление образа в проект

Перед созданием контейнера образ необходимо зарегистрировать в вашем проекте для предварительной загрузки и кэширования слоёв на узлах вычислительного кластера.

Через веб-консоль:

  1. Перейдите в раздел Консоль → Образы контейнеров.
  2. Нажмите Добавить образ.
  3. Укажите ссылку на OCI-образ (например, docker.io/library/nginx:alpine или python:3.12-slim).
  4. Нажмите Создать.

Через REST API:

curl -X POST "https://api.microsrv.ru/api/v1/projects/${PROJECT_ID}/container-images" \
  -H "Authorization: Bearer ${ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "region_id": "ru-central1",
    "ref": "docker.io/library/nginx:alpine"
  }'

Жизненный цикл и состояния образов

После регистрации образ последовательно проходит следующие состояния:

Состояние Описание
Pending Запрос зарегистрирован. Узлы кластера начинают скачивание слоёв.
Downloading Загрузка и проверка контрольных сумм слоёв в локальном хранилище узлов.
Ready Образ закэширован и готов к моментальному запуску контейнеров.
Failed Ошибка загрузки (например, несуществующий тег или сбой авторизации).

[!TIP] Предварительное кэширование слоёв позволяет запускать контейнеры из статуса Ready практически мгновенно (~1–2 секунды).


Совместимость со стеками и приложениями

Песочница контейнеров реализует логику системных вызовов ядра Linux в пространстве пользователя и совместима с подавляющим большинством серверных приложений:

Полностью поддерживаются:

  • Языки и среды исполнения: Go, Rust, Python, Node.js / TypeScript, Java, C / C++, PHP, Ruby, .NET.
  • Веб-серверы и балансировщики: Nginx, Envoy, Caddy, Traefik.
  • Базы данных и брокеры: PostgreSQL, MySQL, Redis, SQLite, MongoDB, ClickHouse.
  • Системные утилиты: curl, git, ffmpeg, tar, bash и др.

Ограничения безопасности песочницы:

  • Загрузка модулей ядра Linux (insmod, modprobe) заблокирована для защиты изоляции.
  • Прямой доступ к низкоуровневым устройствам хоста (например, /dev/kmem) ограничен.

Следующие шаги