crane
crane
is a tool for interacting with remote images
and registries.
A collection of useful things you can do with crane
is here.
Installation
Download latest release.
Install manually:
go install github.com/google/go-containerregistry/cmd/crane@latest
Install via brew
If you're macOS user and using Homebrew, you can install via brew command:
$ brew install crane
Install on arch
If you're arch linux user and use some AUR
helper you can install it with one of
your favourite command:
$ yay -S go-crane-bin
Images
You can also use crane as docker image
$ docker run --rm gcr.io/go-containerregistry/crane ls ubuntu
10.04
12.04.5
12.04
12.10
And it's also available with a shell, at the :debug
tag:
docker run --rm -it --entrypoint "/busybox/sh" gcr.io/go-containerregistry/crane:debug
Tagged debug images are available at gcr.io/go-containerregistry/crane/debug:[tag]
.
Using with GitLab
# Tags an existing Docker image which was tagged with the short commit hash with the tag 'latest'
docker-tag-latest:
stage: latest
only:
refs:
- main
image:
name: gcr.io/go-containerregistry/crane:debug
entrypoint: [""]
script:
- crane auth login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- crane tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA latest