Кейс: в рамках CI/CD нужно собирать docker образ и доставлять его в виде файла-образа на внешний сервер. Задачи "со звездочкой": нельзя использовать внешний регистри. Вообще никакое регистри. Привилегированный режим сборки запрещен (мы не хотим давать раннеру доступ к нашему докеру) Решение, на примере drone:

kind: pipeline type: docker name: build prod

services:

  • name: registry image: registry:2

steps:

  • name: build image: plugins/docker settings: registry: registry:5000 repo: registry:5000/my-image tags: latest insecure: true
  • name: save image: quay.io/skopeo/stable commands:
  • skopeo copy --insecure-policy --src-tls-verify=false docker://registry:5000/my-image:latest docker-archive:img.tar:my-image:latest
  • ls -l img.tar На помощь приходит чудесный пакет https://github.com/containers/skopeo Он позволяет копировать образы между регистрами или сохранять в файл. НЕ использует при этом docker сокет. Buildah или podman, к сожалению, не сработал без привилегий.