Кейс: в рамках 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, к сожалению, не сработал без привилегий.