Аннотации для docker образов
Чтобы добавить аннотации к докер-образу можно воспользоваться утилитой crane. Предварительно надо быть авторизованным в нужном репозитории:
IMAGE_REF=example/proj
REVISION=$(git log -n 1 --format=%h)
IMAGE_TAG=$(git tag --sort=version:refname | tail -n1 | sed -e 's/v//')
BUILD_TIME="$(docker inspect ${IMAGE_REF}:${IMAGE_TAG} | grep -oP '(?<=Created": ")[^"]*')"
docker run -u 0 \
--rm -it \
-v "/home/$USER/.docker/config.json:/root/.docker/config.json" \
--network host \
chainguard/crane:latest mutate \
--annotation "org.opencontainers.image.revision=$REVISION" \
--annotation "org.opencontainers.image.created=$BUILD_TIME" \
--annotation "org.opencontainers.image.title=project" \
--annotation "org.opencontainers.image.ref.name=$IMAGE_TAG" \
--annotation "org.opencontainers.image.version=$IMAGE_TAG" \
--annotation "org.opencontainers.image.description=Short project description." \
--annotation "org.opencontainers.image.authors=user@example.com" \
--annotation "org.opencontainers.image.vendor=Ivan Ivanov" \
--annotation "org.opencontainers.image.licenses=MIT" \
--annotation "org.opencontainers.image.url=https://github.com/example/proj/blob/$REVISION/README.md" \
--annotation "org.opencontainers.image.source=https://github.com/example/proj/blob/$REVISION/.docker/Dockerfile" \
$IMAGE_REF:$IMAGE_TAGЯнчарук А.В.
05.06.2025 14:48