Files
reg/help/export.go
2026-11-05 06:40:24 +03:00

87 lines
3.3 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package help
import (
"fmt"
"reg/internal/i18n"
)
var msgExport = &i18n.Msg{
EN: `export — save an image to a docker-save tar archive.
Usage:
reg [-r <registry>] export <image>[:<tag>|@<digest>] [-o <file.tar>] [-platform <os/arch>]
Description:
Downloads the image and writes it as a tar in the docker save format
(manifest.json, <config>.json, <layer>/layer.tar). The resulting file
can be loaded with ` + "`docker load`" + `.
Flags:
-o <file.tar> output file. Default: <repo>-<tag>.tar in the
current directory. If the path has no .tar
extension, it is appended.
-platform <p> platform (os/arch[/variant]); default — current.
For multi-arch images only the selected platform
is exported.
Notes:
- Gzip-compressed registry layers are unpacked to plain tar
(docker save format requires plain tar layers).
- Only a single-image tar is produced; multi-arch images require
selecting one platform.
- ` + "`repositories`" + ` (legacy) is not produced — modern docker load
reads ` + "`manifest.json`" + `.
Output (JSON to stdout):
{"repository": "...", "tag": "...", "digest": "...", "platform": "linux/amd64",
"path": "/abs/path/to/file.tar", "exported": true}
Examples:
reg export myapp:1.5
reg export myapp:1.5 -o /tmp/myapp.tar
reg export myapp:1.5 -platform linux/arm64
reg export registry.tld/myapp:1.5 -o myapp-1.5.tar
`,
RU: `export — сохранить образ в tar-архив формата docker save.
Использование:
reg [-r <registry>] export <image>[:<tag>|@<digest>] [-o <file.tar>] [-platform <os/arch>]
Описание:
Скачивает образ и записывает его в tar-файл в формате docker save
(manifest.json, <config>.json, <layer>/layer.tar). Полученный файл
можно загрузить через ` + "`docker load`" + `.
Флаги:
-o <file.tar> выходной файл. По умолчанию: <repo>-<tag>.tar в
текущем каталоге. Если у пути нет расширения .tar,
оно добавляется.
-platform <p> платформа (os/arch[/variant]); по умолчанию — текущая.
Для multi-arch образов экспортируется только
выбранная платформа.
Нюансы:
- Слои в реестре хранятся в gzip; для формата docker save они
распаковываются в plain tar.
- Создаётся tar с одним образом; для multi-arch образов нужно
выбрать платформу.
- Поле ` + "`repositories`" + ` (legacy) не создаётся — современный docker load
читает ` + "`manifest.json`" + `.
Вывод (JSON в stdout):
{"repository": "...", "tag": "...", "digest": "...", "platform": "linux/amd64",
"path": "/abs/path/to/file.tar", "exported": true}
Примеры:
reg export myapp:1.5
reg export myapp:1.5 -o /tmp/myapp.tar
reg export myapp:1.5 -platform linux/arm64
reg export registry.tld/myapp:1.5 -o myapp-1.5.tar
`,
}
func printExport() {
fmt.Print(msgExport.String())
}