-
-
Notifications
You must be signed in to change notification settings - Fork 1
Registry Authentication
pull access denied for example/private-image, repository does not exist or may require 'docker login'
wip recognizes this class of failure and prints:
The container registry rejected the request.
Try logging in with:
wslc registry login -u <username> docker.io
Any of these in the failed command's output, case-insensitively:
pull access deniedinsufficient_scopeauthorization failed
wslc registry login -u <username> docker.ioYou'll be prompted for a password or token. For other registries, name them explicitly:
wslc registry login -u <username> ghcr.io
wslc registry login -u AWS <account>.dkr.ecr.<region>.amazonaws.comThen retry:
wip up -dNote this is wslc registry login, not docker login — a Docker credential store on the same
machine doesn't carry over.
| Registry | Credential |
|---|---|
| Docker Hub | an access token from Account Settings → Security |
| GitHub Container Registry | a PAT with read:packages
|
| GitLab | a deploy token or PAT with read_registry
|
| AWS ECR | aws ecr get-login-password |
pull access denied is what registries return for both "you're not authorized" and "it doesn't
exist" — they deliberately don't distinguish, to avoid leaking whether a private repository exists.
So check the obvious things too:
-
Typo in the image name.
wip configprints the resolved image; read it. - Wrong tag. The repository exists, that tag doesn't.
-
Wrong registry.
myapp:devmeans Docker Hub. A GHCR image isghcr.io/owner/myapp:dev. - Genuinely no access. For an org registry, your account may need to be granted it.
Log in before any wip command that pulls:
echo "$REGISTRY_TOKEN" | wslc registry login -u "$REGISTRY_USER" --password-stdin ghcr.io
wip up -d(Use whatever stdin-password flag your wslc build supports; avoid putting the token in the
command line, where it lands in process listings and logs.)
See Using wip in CI.
Introduction
Modes
Configuration
- Configuration Reference
- Config File Discovery
- Dependencies
- Networking
- Interactions
- Restart Policies
- Env Files
- Secret Masking
- Dockerignore
- Shadow Build Context
- Source Sync
- Sync Modes
compose.yml support
- Compose File Support
- Compose Build
- Compose Depends On
- Compose Profiles
- Compose Variable Interpolation
Commands
- CLI Command Reference
- wip init
- wip version
- wip doctor
- wip config
- wip build
- wip up
- wip stop
- wip down
- wip exec
- wip run
- wip shell
- wip logs
- wip sync
- wip dispatch
- Global Options
- Debug Output
- TTY Allocation
Guides
- Guides
- Migrating from dip
- Reusing an Existing compose.yml
- Fixing a Slow Boot
- Continuous Sync
- Auto Restarting Containers
- Multi Arch Images
- Using wip in CI
Troubleshooting
- Troubleshooting & FAQ
- FAQ
- Configuration Errors
- WSLC Not Found
- Registry Authentication
- Architecture Mismatch
- Volume Limit Reached
- rsync Not Found
- Reporting Issues
Comparison
Project