How to Pull from Private Registry in Docker: Simple Steps
To pull from a private Docker registry, first log in using
docker login [registry-url] with your credentials. Then use docker pull [registry-url]/[image-name]:[tag] to download the image securely.Syntax
The process involves two main commands:
docker login [registry-url]: Authenticates your Docker client with the private registry using your username and password.docker pull [registry-url]/[image-name]:[tag]: Downloads the specified image from the private registry.
bash
docker login myprivateregistry.com docker pull myprivateregistry.com/myimage:latest
Example
This example shows how to log in to a private registry and pull an image named myapp with the tag v1.0.
bash
docker login myprivateregistry.com
# Enter username and password when prompted
docker pull myprivateregistry.com/myapp:v1.0Output
Login Succeeded
v1.0: Pulling from myapp
Digest: sha256:abcdef1234567890
Status: Downloaded newer image for myprivateregistry.com/myapp:v1.0
myprivateregistry.com/myapp:v1.0
Common Pitfalls
Common mistakes include:
- Not logging in before pulling, which causes authentication errors.
- Using the wrong registry URL or image name.
- Forgetting to specify the tag, which defaults to
latestand may not exist. - Incorrect credentials during
docker login.
bash
docker pull myprivateregistry.com/myapp:v1.0 # Error: unauthorized: authentication required # Correct way: docker login myprivateregistry.com # Enter correct credentials docker pull myprivateregistry.com/myapp:v1.0
Quick Reference
| Command | Purpose |
|---|---|
| docker login [registry-url] | Authenticate to private registry |
| docker pull [registry-url]/[image]:[tag] | Download image from private registry |
| docker logout [registry-url] | Remove saved credentials for registry |
Key Takeaways
Always run
docker login with your private registry URL before pulling images.Use the full image path including registry URL and tag to avoid errors.
Incorrect credentials or missing login cause authentication failures.
Specify image tags explicitly to pull the correct version.
Use
docker logout to clear saved credentials when needed.