Quick Start Guide¶
Get up and running with DevOps Images in 5 minutes.
5-Minute Quickstart¶
- Step 1: Choose your image
- Step 2: Pull the image
- Step 3: Run interactively
- Step 4: Test a tool
- Step 5: Set up for real work
Step 1: Choose Your Image¶
Which image do I need?
Quick decision:
- Multi-cloud or exploring? →
all-devops - AWS only? →
aws-devops - GCP only? →
gcp-devops
Need help deciding? See the complete decision guide.
Step 2: Pull the Image¶
Contains: AWS + GCP + all base tools (~3.2 GB)
Contains: AWS + all base tools (~2.8 GB)
First pull takes time
Initial pull downloads ~3 GB. Subsequent runs are instant. Grab a coffee! ☕
Step 3: Run Interactively¶
You should see a zsh prompt with Oh My Zsh configured:
You're in!
You're now inside the container with access to all tools.
Step 4: Test a Tool¶
Try a few commands to verify everything works:
# Check Terraform
terraform version
# Check kubectl
kubectl version --client
# Check AWS CLI (all-devops or aws-devops)
aws --version
# Check gcloud (all-devops or gcp-devops)
gcloud version
# Check AI CLI
claude --version
# Exit when done
exit
Expected Output
You should see version information for each tool, indicating they're installed and working.
Step 5: Set Up for Real Work¶
Now run with your project files and credentials mounted:
docker run -it --rm \
-v $PWD:/workspace \
-v ~/.ssh:/root/.ssh \
-v ~/.aws:/root/.aws \
-v ~/.config/gcloud:/root/.config/gcloud \
-w /workspace \
ghcr.io/jinalshah/devops/images/all-devops:latest
Ready to work!
You can now access your project files in /workspace and use cloud CLIs with your credentials.
What You Get¶
All Images Include¶
✅ Infrastructure as Code
- Terraform (multi-version)
- Terragrunt
- TFLint
- Packer
✅ Kubernetes
- kubectl
- Helm 3
- k9s
✅ Configuration & Security
- Ansible + ansible-lint
- Trivy
- pre-commit
✅ AI CLI Tools
- Claude CLI (Anthropic)
- Codex CLI (OpenAI)
- Copilot CLI (GitHub)
- Gemini CLI (Google)
✅ Development
- Python 3.12
- Node.js LTS
- Git + GitHub CLI
- Database clients (mongosh, psql, mysql)
✅ Shells & Utils
- Zsh (default) with Oh My Zsh
- Bash, Fish
- jq, curl, wget, vim
Cloud-Specific Tools¶
✅ AWS CLI v2 + Session Manager ✅ gcloud + docker-credential-gcr ✅ boto3, cfn-lint, s3cmd
✅ AWS CLI v2 + Session Manager ✅ boto3, cfn-lint, s3cmd ❌ No GCP tools
✅ gcloud + docker-credential-gcr ❌ No AWS tools
Common First Tasks¶
Task 1: Run Terraform¶
# Create a simple test file
cat > main.tf <<'EOF'
terraform {
required_version = ">= 1.0"
}
output "hello" {
value = "Hello from DevOps Images!"
}
EOF
# Run Terraform
docker run --rm -v $PWD:/workspace -w /workspace \
ghcr.io/jinalshah/devops/images/all-devops:latest \
sh -c "terraform init && terraform apply -auto-approve"
Task 2: Scan for Vulnerabilities¶
# Scan current directory
docker run --rm -v $PWD:/workspace \
ghcr.io/jinalshah/devops/images/all-devops:latest \
trivy fs /workspace
Task 3: Validate Kubernetes Manifests¶
# Assuming you have k8s manifests
docker run --rm -v $PWD:/workspace -w /workspace \
ghcr.io/jinalshah/devops/images/all-devops:latest \
kubectl apply --dry-run=client -f kubernetes/
Task 4: Use AI CLI¶
# First-time setup: authenticate
docker run -it --rm \
-v ~/.claude:/root/.claude \
ghcr.io/jinalshah/devops/images/all-devops:latest \
claude auth login
# Use Claude for code review
docker run --rm \
-v $PWD:/workspace \
-v ~/.claude:/root/.claude \
-w /workspace \
ghcr.io/jinalshah/devops/images/all-devops:latest \
claude "Review this Terraform file for security issues" \
--file main.tf
Next Steps by Use Case¶
For Local Development¶
- Mount your project: Use
-v $PWD:/workspace - Mount credentials: Add
-v ~/.aws:/root/.awsand-v ~/.config/gcloud:/root/.config/gcloud - Named container: Use
--name devops-workto easily restart - Authentication: Set up cloud credentials and AI CLIs
Full command:
docker run -it --name devops-work \
-v $PWD:/workspace \
-v ~/.ssh:/root/.ssh \
-v ~/.aws:/root/.aws \
-v ~/.config/gcloud:/root/.config/gcloud \
-v ~/.claude:/root/.claude \
-w /workspace \
ghcr.io/jinalshah/devops/images/all-devops:latest
For CI/CD¶
- Pin versions: Use immutable tags like
1.0.abc1234 - Use secrets: Configure cloud credentials via CI secrets
- Cache images: Pre-pull during setup phase
- GHCR registry: Use
ghcr.iofor best performance
Example (GitHub Actions):
Learn more: CI/CD Integration
For Multi-Cloud Teams¶
- Use all-devops: Maximum flexibility
- Workflows: Check multi-cloud patterns
- Authentication: Set up both AWS and GCP
- Organize: Use subdirectories for cloud-specific configs
For Security-Focused Teams¶
- Scan everything: Use Trivy for containers and IaC
- Lint configs: TFLint for Terraform, ansible-lint for Ansible
- AI review: Use Claude for security audits
- Pin versions: Lock to specific image versions
- Scan images: Run
trivy imageon the DevOps Images themselves
Learn more: Security workflows
Troubleshooting First Run¶
Docker: command not found
Problem: Docker is not installed
Solution: Install Docker Desktop
Cannot connect to Docker daemon
Problem: Docker daemon is not running
Solution: Start Docker Desktop or Docker service
Permission denied while trying to connect
Problem: User doesn't have Docker permissions
Solution: Add user to docker group (Linux)
Image pull is very slow
Problem: Large image size or slow internet
Solutions:
- Use GHCR instead of Docker Hub (faster)
- Use smaller cloud-specific images
- Wait for initial pull (only happens once)
- Use a wired connection if possible
Tools returning 'command not found'
Problem: Wrong image or tool not included
Solutions:
- Verify you pulled the correct image
- Check tool availability in image comparison
- For cloud CLIs, ensure you're using the right image variant
Quick Reference Card¶
Essential Commands¶
# Pull latest image
docker pull ghcr.io/jinalshah/devops/images/all-devops:latest
# Run interactively
docker run -it --rm ghcr.io/jinalshah/devops/images/all-devops:latest
# Run with project mounted
docker run -it --rm \
-v $PWD:/workspace -w /workspace \
ghcr.io/jinalshah/devops/images/all-devops:latest
# Run single command
docker run --rm \
-v $PWD:/workspace -w /workspace \
ghcr.io/jinalshah/devops/images/all-devops:latest \
terraform plan
# Check versions
docker run --rm ghcr.io/jinalshah/devops/images/all-devops:latest terraform version
docker run --rm ghcr.io/jinalshah/devops/images/all-devops:latest aws --version
Common Volume Mounts¶
| Mount | Purpose |
|---|---|
-v $PWD:/workspace | Project files |
-v ~/.aws:/root/.aws | AWS credentials |
-v ~/.config/gcloud:/root/.config/gcloud | GCP credentials |
-v ~/.ssh:/root/.ssh | SSH keys |
-v ~/.kube:/root/.kube | Kubernetes config |
-v ~/.claude:/root/.claude | Claude AI credentials |
Useful Aliases¶
Add to your ~/.bashrc or ~/.zshrc:
# Quick access to DevOps container
alias devops='docker run -it --rm \
-v $PWD:/workspace \
-v ~/.ssh:/root/.ssh \
-v ~/.aws:/root/.aws \
-v ~/.config/gcloud:/root/.config/gcloud \
-w /workspace \
ghcr.io/jinalshah/devops/images/all-devops:latest'
# One-off commands
alias devops-run='docker run --rm \
-v $PWD:/workspace -w /workspace \
ghcr.io/jinalshah/devops/images/all-devops:latest'
# Example usage:
# devops # Interactive shell
# devops-run terraform plan # Single command
What's Next?¶
🎯 Ready to go deeper?
Learn the Tools:
- Tool Basics Guide - Comprehensive tool reference
- AI CLI Setup - Claude, Codex, Copilot, Gemini
Set Up Credentials:
- Authentication Guide - AWS, GCP, SSH, AI CLIs
See Real Examples:
- Workflows & Patterns - CI/CD integrations
- AI-Assisted DevOps - AI workflow examples
- Multi-Tool Patterns - Combining tools
Understand the Images:
- Architecture Overview - What's inside
- Choosing an Image - Detailed comparison
- Build & Optimize - Custom builds
Get Help:
- Troubleshooting - Common issues
- GitHub Issues - Report problems
🚀 You're all set! Happy DevOps-ing!