# docker push Command Reference

> Reference for docker push in CI: publish a tagged image or all tags to a registry, with notes on authentication and immutable tagging in pipelines.

Source: https://latchkey.dev/learn/command-reference/docker-push-command-reference  
Updated: 2026-06-26

Upload a local image to a registry.

docker push uploads an image (and its layers not already present) to the registry encoded in its tag. The tag must include the registry host for anything other than Docker Hub, and you must be authenticated via docker login first.

## Common flags

- `-a, --all-tags` - push every tag of the named repository
- `-q, --quiet` - suppress verbose layer output
- `--disable-content-trust` - push without signing (default true)

## Example

```shell
docker tag app:build ghcr.io/myorg/app:${{ github.sha }}
docker push ghcr.io/myorg/app:${{ github.sha }}
docker tag app:build ghcr.io/myorg/app:latest
docker push ghcr.io/myorg/app:latest
```

## In CI

Push an immutable SHA tag for every build and a moving tag (latest, or the branch name) only on the appropriate branch. "denied: requested access to the resource is denied" means the image tag does not match an authenticated registry/namespace, or login did not run for that registry.

## FAQ

### docker push Command Reference?

docker push uploads an image (and its layers not already present) to the registry encoded in its tag. The tag must include the registry host for anything other than Docker Hub, and you must be authenticated via docker login first.

### In CI?

Push an immutable SHA tag for every build and a moving tag (latest, or the branch name) only on the appropriate branch. "denied: requested access to the resource is denied" means the image tag does not match an authenticated registry/namespace, or login did not run for that registry.

---

Latchkey runs CI/CD that repairs its own failures. Agent entry points: https://latchkey.dev/agent.txt, https://latchkey.dev/openapi.json, https://latchkey.dev/llms.txt
