Skip to main content
Version: Next

Docker Image Management

This guide covers basic Docker image management for Merobox deployments.

Basic Image Configuration

Merobox uses Docker images for running Calimero nodes:

# workflow.yml
nodes:
image: ghcr.io/calimero-network/merod:edge
auth_image: ghcr.io/calimero-network/mero-auth:edge

Image Selection

Choose the right image for your use case:

# Production - stable release
nodes:
image: ghcr.io/calimero-network/merod:latest

# Development - edge features
nodes:
image: ghcr.io/calimero-network/merod:edge

# Specific version
nodes:
image: ghcr.io/calimero-network/merod:v0.7.0

Basic Image Management

Pulling Images

# Pull the default Calimero image
docker pull ghcr.io/calimero-network/merod:edge

# Pull the authentication service image
docker pull ghcr.io/calimero-network/mero-auth:edge

# List available images
docker images | grep calimero

Image Verification

# Check image details
docker inspect ghcr.io/calimero-network/merod:edge

# Test image locally
docker run --rm ghcr.io/calimero-network/merod:edge --version

# Check image layers
docker history ghcr.io/calimero-network/merod:edge

Basic Docker Commands

Container Management

# List running containers
docker ps

# List all containers
docker ps -a

# Stop containers
docker stop calimero-node-1

# Remove containers
docker rm calimero-node-1

# Clean up unused containers
docker container prune

Image Management

# List images
docker images

# Remove unused images
docker image prune

# Clean up all unused resources
docker system prune

Troubleshooting Image Issues

Common Problems

# Check image availability
docker pull ghcr.io/calimero-network/merod:edge

# Inspect image details
docker inspect ghcr.io/calimero-network/merod:edge

# Check image layers
docker history ghcr.io/calimero-network/merod:edge

# Test image locally
docker run --rm ghcr.io/calimero-network/merod:edge --version

Debug Image Pull Issues

# Enable debug logging
export DOCKER_BUILDKIT=0
export DOCKER_CLI_EXPERIMENTAL=enabled

# Check registry connectivity
docker login ghcr.io
docker pull ghcr.io/calimero-network/merod:edge

# Verify image integrity
docker run --rm ghcr.io/calimero-network/merod:edge sh -c "echo 'Image is working'"

Best Practices

Image Selection

  1. Use specific tags: Avoid latest in production
  2. Regular updates: Keep images up to date with security patches
  3. Version pinning: Pin to specific versions for reproducibility

Performance Optimization

  1. Pre-pull images: Pull images before running workflows
  2. Clean up unused images: Regularly clean up unused Docker resources
  3. Use appropriate image sizes: Choose the right image for your use case

Security Considerations

  1. Use official images: Prefer official Calimero images
  2. Regular updates: Keep images updated with security patches
  3. Verify image integrity: Check image signatures when possible

Next Steps

Now that you understand basic Docker image management:

Was this page helpful?
Need some help? Check Support page