Container Registry
Pull Images from Registry
Learn how to pull container images from your DCR registry
Pull Images from Your Registry
Learn how to pull container images from your DCR registry to use in your deployments.
Prerequisites
- A DCR registry with pushed images
- Docker or Podman installed
- Registry credentials
Step 1: Authenticate
First, authenticate with your registry:
docker login dcr.nexqloud.io/your-registry-name
Enter your credentials when prompted.
Step 2: Pull the Image
Pull your image using the full registry path:
docker pull dcr.nexqloud.io/your-registry-name/image-name:tag
Example:
docker pull dcr.nexqloud.io/dcp-dcr-demo-01/myapp:latest
Step 3: Verify the Pull
List your local images to verify:
docker images | grep dcr.nexqloud.io
Step 4: Run the Image
Run a container from your pulled image:
docker run -d -p 8080:8080 dcr.nexqloud.io/your-registry-name/image-name:tag
Pulling Specific Tags
Pull specific versions of your image:
# Pull latest version
docker pull dcr.nexqloud.io/your-registry-name/myapp:latest
# Pull specific version
docker pull dcr.nexqloud.io/your-registry-name/myapp:v1.0.0
# Pull environment-specific version
docker pull dcr.nexqloud.io/your-registry-name/myapp:production
Using in Kubernetes
To use your DCR images in Kubernetes, create an image pull secret:
Create a Secret
kubectl create secret docker-registry dcr-credentials \
--docker-server=dcr.nexqloud.io/your-registry-name \
--docker-username=<your-username> \
--docker-password=<your-password> \
--docker-email=<your-email>
Reference in Pod Spec
apiVersion: v1
kind: Pod
metadata:
name: myapp
spec:
containers:
- name: myapp
image: dcr.nexqloud.io/your-registry-name/myapp:latest
imagePullSecrets:
- name: dcr-credentials
Use in Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp-deployment
spec:
replicas: 3
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp
image: dcr.nexqloud.io/your-registry-name/myapp:v1.0.0
ports:
- containerPort: 8080
imagePullSecrets:
- name: dcr-credentials
Using with Docker Compose
Reference your DCR images in docker-compose.yml:
version: '3.8'
services:
webapp:
image: dcr.nexqloud.io/your-registry-name/myapp:latest
ports:
- "8080:8080"
environment:
- NODE_ENV=production
Before running, ensure you're logged in:
docker login dcr.nexqloud.io/your-registry-name
docker-compose up -d
Automated Pulls in CI/CD
Configure your CI/CD pipeline to pull images:
GitHub Actions Example
- name: Login to DCR
run: echo "${{ secrets.DCR_PASSWORD }}" | docker login dcr.nexqloud.io/your-registry-name -u ${{ secrets.DCR_USERNAME }} --password-stdin
- name: Pull Image
run: docker pull dcr.nexqloud.io/your-registry-name/myapp:latest
GitLab CI Example
pull_image:
stage: deploy
script:
- docker login -u $DCR_USERNAME -p $DCR_PASSWORD dcr.nexqloud.io/your-registry-name
- docker pull dcr.nexqloud.io/your-registry-name/myapp:latest
Using with Podman
Pull images using Podman:
podman login dcr.nexqloud.io/your-registry-name
podman pull dcr.nexqloud.io/your-registry-name/myapp:latest
podman run -d -p 8080:8080 dcr.nexqloud.io/your-registry-name/myapp:latest
Troubleshooting
Authentication Failed
- Verify credentials are correct
- Check registry name is spelled correctly
- Ensure credentials haven't expired
Image Not Found
- Confirm the image exists in your registry
- Check the tag is correct
- Verify you have read permissions
Pull Timeout
- Check your internet connection
- Verify registry is accessible
- Try pulling a smaller image first to test connectivity