A complete guide to tagging, pushing, pulling, and managing container images in your DepAegis private registry.
Before you can push an image, it must be tagged with the DepAegis registry hostname. Docker uses the tag prefix to determine which registry to push to. The format is:
<registry-host>/<org>/<image>:<tag>Tag an existing local image:
# Tag for DepAegis
docker tag my-app:latest app.depaegis.com/my-org/my-app:latest
# Tag with a specific version
docker tag my-app:v1.2.0 app.depaegis.com/my-org/my-app:1.2.0<org> segment in the tag maps to a DepAegis organization. You must have write permissions in that organization to push images.Once the image is tagged, push it to DepAegis:
docker push app.depaegis.com/my-org/my-app:1.2.0Docker uploads each layer. If a layer already exists in the registry (deduplication), the upload is skipped. DepAegis automatically triggers a vulnerability scan and SBOM generation after the push completes.
If you have multiple tags for the same image, push them individually or use --all-tags:
docker push --all-tags app.depaegis.com/my-org/my-appA consistent tagging strategy makes images discoverable, traceable, and reproducible. Here are the most common approaches:
Use semver tags for releases. This is the most common strategy for production images:
app.depaegis.com/my-org/my-app:1.2.0
app.depaegis.com/my-org/my-app:1.2.1
app.depaegis.com/my-org/my-app:2.0.0Tag every build with its git commit SHA for full traceability. This ensures every deployed image can be traced back to an exact source commit:
docker build -t app.depaegis.com/my-org/my-app:sha-a1b2c3d .
docker push app.depaegis.com/my-org/my-app:sha-a1b2c3dThe latest tag is a convenience tag pointing to the most recent build. It is not updated automatically — it is only updated when you explicitly push it:
# Push a versioned tag AND latest together
docker tag my-app app.depaegis.com/my-org/my-app:1.2.0
docker tag my-app app.depaegis.com/my-org/my-app:latest
docker push app.depaegis.com/my-org/my-app:1.2.0
docker push app.depaegis.com/my-org/my-app:latestlatest in production deployments. Pinning to an explicit version or SHA prevents accidental breakage from an unexpected image update.| Strategy | Example Tag | Use Case |
|---|---|---|
| Semver | 1.2.0 | Release builds |
| Git SHA | sha-a1b2c3d | CI builds, full traceability |
| Branch name | main, feature-auth | Development / staging |
| Latest | latest | Convenience only — not for production |
DepAegis supports OCI image manifests and manifest lists (fat manifests), enabling multi-architecture images. Use docker buildx to build and push images for multiple platforms simultaneously:
docker buildx create --name mybuilder --use
docker buildx inspect --bootstrapdocker buildx build \
--platform linux/amd64,linux/arm64,linux/arm/v7 \
-t app.depaegis.com/my-org/my-app:1.2.0 \
--push .This builds the image for three architectures and pushes a single manifest list to DepAegis. When a user pulls the image, Docker automatically selects the correct variant for their platform:
# On an ARM64 machine — pulls the arm64 variant
docker pull app.depaegis.com/my-org/my-app:1.2.0docker buildx imagetools inspect:docker buildx imagetools inspect app.depaegis.com/my-org/my-app:1.2.0Pulling images from DepAegis works exactly like pulling from any other registry:
docker pull app.depaegis.com/my-org/my-app:1.2.0If you omit the tag, Docker pulls latest by default:
docker pull app.depaegis.com/my-org/my-appdocker run --rm app.depaegis.com/my-org/my-app:1.2.0If the image is not present locally, Docker pulls it first, then runs it.
For maximum reproducibility, pull by digest instead of tag. Digests are immutable — they always point to the exact same image data:
docker pull app.depaegis.com/my-org/my-app@sha256:abcdef123456...Every image pushed to DepAegis is automatically scanned for known vulnerabilities. Scan results are available in the DepAegis dashboard:
Over time, image repositories accumulate old tags. DepAegis provides several ways to manage image retention:
# Delete a specific tag
curl -X DELETE \
-H "Authorization: Bearer $DEPAEGIS_TOKEN" \
"https://app.depaegis.com/v2/my-org/my-app/manifests/1.0.0"When you delete a tag or manifest, the layers referenced by that manifest are not immediately removed — other manifests may reference the same layers. DepAegis runs garbage collection (GC) to reclaim disk space by removing unreferenced layers.
DepAegis runs garbage collection automatically on a configurable schedule (default: nightly). Administrators can configure the schedule in Settings → Registry → Garbage Collection.
Trigger garbage collection immediately via the dashboard or API:
curl -X POST \
-H "Authorization: Bearer $DEPAEGIS_TOKEN" \
"https://app.depaegis.com/api/admin/registry/gc"