/go-oci

Experimental multi arch OCI pusher using oras

Primary LanguageGo

Push Image to OCI Registry

Requirements

Features

  • Push Image to OCI Registry
  • Push Manifest Multi-Architecture Docker Image to OCI Registry

Installation

go install github.com/aldinokemal/go-oci@latest

Command: Push Image from Local to Zot OCI Registry

go-oci image:push <image:tag>

go-oci image:push localhost:5000/go-whatsapp-web-multidevice:linux-arm64 \
        --insecure=true

Command: Push Manifest from Local to Zot OCI Registry

go-oci manifest:push localhost:5000/go-whatsapp-web-multidevice:latest \
        --insecure=true

Command: Create Manifest and Push to Zot OCI Registry

go-oci manifest:create localhost:5000/go-whatsapp-web-multidevice:latest \
        --amend localhost:5000/go-whatsapp-web-multidevice:linux-amd64 \
        --amend localhost:5000/go-whatsapp-web-multidevice:linux-arm64 \
        --insecure=true \
        --push=true 

Reference:

docker buildx build \
        --tag localhost:5000/go-whatsapp-web-multidevice:linux-amd64 \
        --platform linux/amd64 \
        --load \
        --progress plain \
        -f ./docker/golang.Dockerfile \
        .

docker buildx build \
        --tag localhost:5000/go-whatsapp-web-multidevice:linux-arm64 \
        --platform linux/arm64 \
        --load \
        --progress plain \
        -f ./docker/golang.Dockerfile \
        .


docker manifest create --insecure localhost:5000/go-whatsapp-web-multidevice:latest \
        --amend localhost:5000/go-whatsapp-web-multidevice:linux-amd64 \
        --amend localhost:5000/go-whatsapp-web-multidevice:linux-arm64

Picture

  • Uploaded multi arch image to zot registry upload to zot registry