hostprofi.ru
Подобрать хостинг
Термин·буква S

Skopeo

краткое определение

Skopeo — утилита командной строки для работы с Docker/OCI-образами контейнеров без их предварительной загрузки: копирование между реестрами, проверка манифестов, инспектирование образов.

Skopeo — утилита для работы с образами контейнеров и реестрами без запуска Docker-демона и без полной загрузки образа на диск. Входит в Red Hat container tools вместе с Podman и Buildah. Skopeo работает напрямую с API реестров (Docker Hub, Quay.io, AWS ECR, GCR, Nexus) через транспортный протокол container image specification.

Основные возможности

  • Инспекция образа: метаданные без загрузки — размер, теги, манифест, история слоёв
  • Копирование между реестрами: прямая передача без промежуточного скачивания на диск
  • Удаление тегов: из удалённых реестров через API
  • Синхронизация реестров: mirroring корпоративного реестра
  • Подпись образов: верификация через GPG-подписи и cosign

Основные команды

# Инспекция образа без загрузки
skopeo inspect docker://nginx:latest

# Копирование между реестрами
skopeo copy docker://nginx:latest docker://myregistry.internal/nginx:latest

# Копирование в/из tar-архива
skopeo copy docker://nginx:latest oci-archive:/tmp/nginx.tar

# Удалить тег в реестре
skopeo delete docker://myregistry.internal/nginx:old-tag

# Синхронизировать реестр
skopeo sync --src docker --dest docker docker.io/library/nginx myregistry.internal/mirrors

# Авторизация (credentials)
skopeo login myregistry.internal -u user -p password

История

Skopeo создан командой Red Hat в 2016 году как часть Project Atomic — инициативы по созданию container-native Linux. Опубликован под Apache 2.0 лицензией. Вошёл в состав Red Hat Enterprise Linux 8 (2019) вместе с Podman и Buildah как замена Docker в корпоративных сценариях. В 2020 году стал частью проекта containers/skopeo в GitHub организации containers.

Skopeo vs Docker pull/push

ПараметрSkopeoDocker pull/push
DaemonНе нуженОбязателен (dockerd)
RootНе нужен (rootless)Нужен (или sudo)
Кэш на дискеНет (прямая передача)Да (Layer cache)
Multi-arch копированиеДаЧастично
CI/CD применениеЭффективноМедленнее

На что обращать внимание

Skopeo особенно полезен в CI/CD пайплайнах без Docker-демона: копирование образа между реестрами прямым путём быстрее, чем docker pull → docker tag → docker push (экономит время и дисковое пространство). При использовании в Kubernetes-кластере: Skopeo помогает pre-pull образы в корпоративный registry перед деплоем. Для верификации подписей образов используй совместно с cosign (Sigstore проект).

История Skopeo

Skopeo создан командой Red Hat в 2015–2016 годах как часть проекта «container tools» для замены зависимости от Docker daemon при работе с реестрами. Версия 0.1.0 выпущена в 2016 году. Вместе с Podman и Buildah входит в «Red Hat container tools trinity» — полный стек работы с контейнерами без Docker. Fedora 30 (2019) включила Skopeo в стандартные репозитории. Skopeo написан на Go, лицензия Apache 2.0.

Практические примеры Skopeo

# Скопировать образ между реестрами без загрузки на диск
skopeo copy docker://docker.io/nginx:latest   docker://registry.example.com/nginx:latest

# Проверить манифест образа без загрузки
skopeo inspect docker://nginx:latest

# Синхронизировать все теги образа
skopeo sync --src docker --dest docker   docker.io/library/nginx registry.example.com/mirror

# Удалить тег из реестра
skopeo delete docker://registry.example.com/myapp:old-tag

На что обращать внимание

Skopeo — незаменим в airgapped (изолированных) средах: копирует образы из публичного реестра в корпоративный без запуска Docker. В CI/CD на GitLab CI или GitHub Actions Skopeo используется для зеркалирования образов перед сборкой. Команда skopeo inspect позволяет проверить digest и метаданные без docker pull. Для верификации подписей образов используй совместно с cosign (Sigstore). Skopeo поддерживает аутентификацию через --creds user:pass или через ~/.docker/config.json.

Другие термины