microsrv:~$
Console

Container Image Management

Registering OCI images from Docker Hub and GHCR, cluster node pre-fetching, and gVisor compatibility guidelines.

OCI Image Support

microsrv natively supports standard OCI (Open Container Initiative) container images built with Docker, Podman, Buildah, or standard CI/CD workflows.

You can import images from any public or private container registry:

  • 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, and custom registry endpoints.

Adding Images to a Project

Before running a container, register the image reference in your project to allow cluster worker nodes to pre-pull and cache its layers.

Via Web Console:

  1. Navigate to Console → Container Images.
  2. Click Create Image.
  3. Provide the OCI image reference string (e.g., docker.io/library/nginx:alpine or python:3.12-slim).
  4. Click Create.

Via 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"
  }'

Image States & Lifecycle

Once submitted, the image transitions through the following states:

State Description
Pending Request registered; worker nodes are dispatched to pull layers.
Downloading Layer downloading, verification, and local unpack in progress.
Ready Image is cached and ready for instantaneous container launches.
Failed Pull failed (e.g., nonexistent repository tag or network timeout).

[!TIP] Pre-caching image layers enables instant container startup from the Ready state (~1–2 seconds).


Application & Runtime Compatibility

The container sandbox runtime implements Linux kernel system calls in user-space, supporting virtually all modern application stacks:

Fully Supported:

  • Languages and Runtimes: Go, Rust, Python, Node.js / TypeScript, Java, C / C++, PHP, Ruby, .NET.
  • Web Servers and Proxies: Nginx, Envoy, Caddy, Traefik.
  • Databases and Brokers: PostgreSQL, MySQL, Redis, SQLite, MongoDB, ClickHouse.
  • Standard Linux Utilities: curl, git, ffmpeg, tar, bash, etc.

Sandbox Restrictions:

  • Host kernel module loading (insmod, modprobe) is blocked for sandbox security.
  • Direct access to raw host kernel devices (such as /dev/kmem) is restricted.

Next Steps