Script Valley
Docker: Complete Course
CI/CD with Docker and Container RegistriesLesson 6.3

Docker image tagging strategies for CI and production

git sha tags, semantic versioning tags, latest tag, docker/metadata-action, multi-tag strategy, immutable tags, tag promotion

What Makes a Good Image Tag Strategy

Docker image tagging strategy

Tags answer the question: "which version of this image is running in production?" A good strategy provides immutability, traceability, and ease of rollback.

Using docker/metadata-action

      - name: Extract metadata
        id: meta
        uses: docker/metadata-action@v5
        with:
          images: ghcr.io/${{ github.repository }}
          tags: |
            type=sha                        # sha-abc1234
            type=semver,pattern={{version}} # v1.4.2
            type=semver,pattern={{major}}.{{minor}} # v1.4
            type=raw,value=latest,enable=${{ github.ref == 'refs/heads/main' }}

      - name: Build and push
        uses: docker/build-push-action@v5
        with:
          tags: ${{ steps.meta.outputs.tags }}

Tag Strategy Rules

Git SHA tags: immutable, always point to the same image. Use in deployment manifests. Semantic version tags: applied on release, human-readable. latest: only push from main/master, never from feature branches. Production deployments should never use latest โ€” use the SHA or version tag so rollbacks are deterministic.

Up next

Running Docker containers in CI for integration testing

Sign in to track progress

Docker image tagging strategies for CI and production โ€” CI/CD with Docker and Container Registries โ€” Docker: Complete Course โ€” Script Valley โ€” Script Valley