skopeo-sync(1)() skopeo-sync(1)() (NAME) skopeo-sync - . (SYNOPSIS) skopeo sync [options] --src transport --dest transport source destination (DESCRIPTION) . source destination - (mirror) (air-gapped) . skopeo skopeo sync (transports) source destination . docker://hostname:port (non-fully qualified) hostname port (tag) . (transports) source: - docker ( --src docker): source (: registry.example.com/busybox). skopeo sync . - dir ( --src dir): source (: /media/usb/). skopeo(1) dir:path . - yaml ( --src yaml): source YAML . YAML ( ). << (EXAMPLES)>> . (transports) destination: - docker ( --dest docker): destination (: my-registry.local.lan). - dir ( --dest dir): destination (: /media/usb/). 'image:tag' . --scoped destination . (OPTIONS) skopeo(1) . --all, -a src ( --override-os --override-arch --override- variant) . --authfile path . ${XDG_RUNTIME_DIR}/containers/auth.json . containers- auth.json(5) . skopeo login . REGISTRY\_AUTH\_FILE . --src-authfile path . --authfile . --dest-authfile path . --authfile . --dry-run ( ). --src, -s transport (transport) . --dest, -d transport . --format, -f manifest-type (oci v2s1 v2s2) () ( fallback ). --help, -h --scoped destination . --append-suffix tag-suffix . --digestfile path ( ) (Image Reference) . sha256:bf91f90823248017a4f920fb541727fa8368dc6cf377a7debbd271cf6a31c8a7 docker://myhost.com/alpine:edge sha256:31603596830fc7e56753139f9c2c6bd3759e48a850659506ebfb885d1cf3aef5 docker://myhost.com/postgres:14.3 --preserve-digests (digests) . . --all . --remove-signatures ( ) source-image. . --remove-list-signatures (per-instance) . --remove-signatures . --sign-by key-id <> (key ID) destination-image --sign-by-sigstore param-file sigstore sigstore param-file. containers-sigstore-signing- params.yaml(5) . --sign-by-sigstore-private-key path sigstore path destination-image --sign-by-sq-fingerprint fingerprint <> Sequoia-PGP fingerprint. --sign-passphrase-file path (passphrase) --sign-by --sign-by-sigstore-private-key --sign-by-sq- fingerprint. . . . --src-creds username[:password] . --dest-creds username[:password] . --src-cert-dir path (*.crt *.cert *.key) path . --src-no-creds . --src-tls-verify=bool HTTPS . registry.conf . --dest-cert-dir path (*.crt *.cert *.key) path . --dest-no-creds . --dest-tls-verify=bool HTTPS . registry.conf ..PP --src-registry-token Bearer token . --dest-registry-token Bearer token . --retry-times . . --retry-delay . ( 0s ) . --keep-going . --src-username . --src-password . --dest-username . --dest-password . (EXAMPLES) $ skopeo sync --src docker --dest dir registry.example.com/busybox /media/usb : /media/usb/busybox:1-glibc /media/usb/busybox:1-musl /media/usb/busybox:1-ubuntu ... /media/usb/busybox:latest : /media/usb/busybox:1-glibc : $ skopeo sync --src dir --dest docker /media/usb/busybox:1-glibc my-registry.local.lan/test/ : REPO TAGS my-registry.local.lan/test/busybox 1-glibc $ skopeo sync --src docker --dest dir --scoped registry.example.com/busybox /media/usb : /media/usb/registry.example.com/busybox:1-glibc /media/usb/registry.example.com/busybox:1-musl /media/usb/registry.example.com/busybox:1-ubuntu ... /media/usb/registry.example.com/busybox:latest $ skopeo sync --src docker --dest docker registry.example.com/busybox my-registry.local.lan : REPO TAGS registry.local.lan/busybox 1-glibc, 1-musl, 1-ubuntu, ..., latest $ skopeo sync --src docker --dest docker registry.example.com/repo/busybox my-registry.local.lan/repo : REPO TAGS registry.local.lan/repo/busybox 1-glibc, 1-musl, 1-ubuntu, ..., latest $ skopeo sync --src docker --dest docker --append-suffix '-mirror' registry.example.com/busybox my-registry.local.lan : REPO TAGS registry.local.lan/busybox 1-glibc-mirror, 1-musl-mirror, 1-ubuntu-mirror, ..., latest-mirror YAML ( source **--src yaml** ) registry.example.com: images: busybox: [] redis: - "1.0" - "2.0" - "sha256:0000000000000000000000000000000011111111111111111111111111111111" images-by-tag-regex: nginx: ^1\.13\.[12]-alpine-perl$ images-by-semver: alpine: ">= 3.12.0" credentials: username: john password: this is a secret tls-verify: true cert-dir: /home/john/certs quay.io: tls-verify: false images: coreos/etcd: - latest yaml sync.yml : $ skopeo sync --src yaml --dest docker sync.yml my-registry.local.lan/repo/ : - registry.example.com/busybox: . - registry.example.com/redis: "1.0" "2.0" "sha256:0000000000000000000000000000000011111111111111111111111111111111". - registry.example.com/nginx: "1.13.1-alpine-perl" "1.13.2-alpine-perl". - quay.io/coreos/etcd: "latest". - registry.example.com/alpine: (semantic version) ">= 3.12.0" ("3.12.0" "3.12.1" ... "4.0.0" ...). : https://github.com/Masterminds/semver/tree/v3.2.0#basic-comparisons : https://semver.org/#spec-item-11 registry.example.com "john"/"this is a secret" TLS /home/john/certs . TLS tls-verify false . TLS registry.example.com quay.io ..SH " (SEE ALSO)" skopeo(1), skopeo- login(1), docker-login(1), containers-auth.json(5), containers- policy.json(5), containers-transports(5) (AUTHORS) Flavio Castelli fcastelli@suse.com , Marco Vedovati mvedovati@suse.com skopeo-sync(1)()