Quick Start Guide¶
Get up and running with DevOps Images in five minutes. All you need is Docker (or any OCI runtime, such as Podman).
flowchart LR
A["1. Choose<br/>an image"] --> B["2. Pull it"] --> C["3. Run it"] --> D["4. Try a tool"] --> E["5. Mount your<br/>project and credentials"]
classDef s1 fill:#0369a1,stroke:#075985,color:#fff
classDef s2 fill:#059669,stroke:#047857,color:#fff
classDef s3 fill:#0d9488,stroke:#0f766e,color:#fff
classDef s4 fill:#d97706,stroke:#b45309,color:#fff
classDef s5 fill:#ea7a0c,stroke:#c2410c,color:#fff
class A s1
class B s2
class C s3
class D s4
class E s5
Step 1: Choose your image¶
-
all-devops
AWS and Google Cloud tooling. A good default if you're unsure or work across clouds.
-
aws-devops
AWS CLI v2, Session Manager, boto3 and cfn-lint. No Google Cloud SDK.
-
gcp-devops
The Google Cloud CLI, GKE auth plugin and docker-credential-gcr. No AWS tooling.
Still deciding? The interactive image picker asks three questions and gives you the command.
Step 2: Pull the image¶
The first pull takes a minute
Each image is about 1.5–1.6 GB to download and roughly 4.6–5 GB on disk once unpacked. After that, starting a container is instant. Grab a coffee!
Step 3: Run it interactively¶
You land in Zsh with Oh My Zsh's candy theme. The prompt looks like this:
Type exit (or press Ctrl+D) to leave. --rm deletes the container afterwards.
Step 4: Try a tool¶
terraform version
kubectl version --client
aws --version # all-devops and aws-devops
gcloud --version # all-devops and gcp-devops
claude --version # plus codex, copilot and agy
You're in
Every tool prints its version, so everything is installed and on your PATH.
Step 5: Set up for real work¶
Mount your project and the credentials you already have on your machine:
docker run -it --rm \
-v "$PWD":/srv -w /srv \
-v ~/.ssh:/root/.ssh:ro \
-v ~/.aws:/root/.aws \
-v ~/.config/gcloud:/root/.config/gcloud \
ghcr.io/jinalshah/devops/images/all-devops:latest
Your project is at /srv, and the cloud CLIs use your existing logins.
Build your command¶
Pick an image and toggle what you want mounted. The command updates as you click, ready to copy.
| Mount | What it gives you |
|---|---|
-v "$PWD":/srv -w /srv |
Your project files, as the working directory |
-v ~/.ssh:/root/.ssh:ro |
SSH keys for Git and servers (read-only) |
-v ~/.aws:/root/.aws |
AWS CLI profiles and SSO cache |
-v ~/.config/gcloud:/root/.config/gcloud |
gcloud logins and configurations |
-v ~/.kube:/root/.kube |
kubeconfig for your clusters |
-v ~/.claude:/root/.claude |
Claude Code login and settings |
-v ~/.codex:/root/.codex |
Codex CLI login and config.toml |
-v ~/.copilot:/root/.copilot |
Copilot CLI login and settings |
-v ~/.gemini:/root/.gemini |
Antigravity CLI (agy) login and settings |
What you get¶
-
Infrastructure as code
Terraform (via tfswitch), Terragrunt, TFLint, Packer
-
Kubernetes
kubectl, Helm 3, k9s
-
Automation and security
Ansible, ansible-lint, pre-commit, Task, Trivy
-
AI coding agents
Claude Code, Codex CLI, Copilot CLI, Antigravity CLI (
agy) -
Development
Python 3.14, Node.js LTS, Git, GitHub CLI, ghorg, Zensical
-
Databases and network
mongosh, psql, mysql · dig, nmap, ncat, curl, jq
Cloud tooling per image¶
| Tool | all-devops | aws-devops | gcp-devops |
|---|---|---|---|
| AWS CLI v2 + Session Manager plugin | — | ||
| boto3, cfn-lint, s3cmd | — | ||
| gcloud, gsutil, bq | — | ||
| GKE auth plugin, docker-credential-gcr | — |
Search the whole list in the tool explorer.
Common first tasks¶
# Scan dependencies, secrets and IaC misconfigurations in the current folder
docker run --rm -v "$PWD":/srv -w /srv \
ghcr.io/jinalshah/devops/images/all-devops:latest \
trivy fs --scanners vuln,secret,misconfig .
Trivy downloads its vulnerability database on first run.
# One-time: sign in (opens a URL to visit), then /exit
docker run -it --rm -v ~/.claude:/root/.claude \
ghcr.io/jinalshah/devops/images/all-devops:latest claude
# Review a file non-interactively with -p (print mode)
docker run --rm -v "$PWD":/srv -w /srv \
-v ~/.claude:/root/.claude \
ghcr.io/jinalshah/devops/images/all-devops:latest \
sh -c 'cat main.tf | claude -p "Review this Terraform for security issues"'
See AI CLI setup for Codex, Copilot and Antigravity.
Next steps by use case¶
Keep a named container around between sessions:
docker run -it --name devops-work \
-v "$PWD":/srv -w /srv \
-v ~/.ssh:/root/.ssh:ro \
-v ~/.aws:/root/.aws \
-v ~/.config/gcloud:/root/.config/gcloud \
-v ~/.claude:/root/.claude \
ghcr.io/jinalshah/devops/images/all-devops:latest
# Later
docker start -ai devops-work
Then set up cloud credentials and AI CLIs.
- Pin a tag:
1.0.<short-sha>tags are per commit. Scheduled rebuilds refresh them with newer tools, so pin a@sha256:digest if you need exact bits. - Use CI secrets for credentials, never baked-in files.
- Read more in CI/CD integration.
- Scan code and IaC with
trivy fsandtrivy config - Lint with TFLint and ansible-lint
- Run
pre-commithooks in CI - Pin image digests
- Scan the image itself:
trivy image ghcr.io/jinalshah/devops/images/all-devops:latest
See the security-first workflow.
Handy shell aliases¶
Add these to your ~/.bashrc or ~/.zshrc:
# Interactive shell in the current project
alias devops='docker run -it --rm -v "$PWD":/srv -w /srv -v ~/.ssh:/root/.ssh:ro -v ~/.aws:/root/.aws -v ~/.config/gcloud:/root/.config/gcloud ghcr.io/jinalshah/devops/images/all-devops:latest'
# One-off commands: devops-run terraform plan
alias devops-run='docker run --rm -v "$PWD":/srv -w /srv -v ~/.aws:/root/.aws -v ~/.config/gcloud:/root/.config/gcloud ghcr.io/jinalshah/devops/images/all-devops:latest'
Troubleshooting your first run¶
docker: command not found
Install Docker Desktop (macOS, Windows) or Docker Engine on Linux.
Cannot connect to the Docker daemon
Start Docker Desktop, or on Linux run sudo systemctl start docker.
Permission denied while trying to connect (Linux)
The pull is very slow
It's a 1.5 GB+ download, so the first pull takes a while. Use GHCR rather than Docker Hub, which rate-limits anonymous pulls, pick the single-cloud image if you only need one cloud, and it only happens once per update.
A tool says command not found
Check you're using the right variant: aws isn't in gcp-devops and gcloud isn't in aws-devops. The tool explorer shows which image has what.
More fixes are in Troubleshooting.
Where next?¶
-
A cheat sheet for every tool.
-
AWS, GCP, SSH, Git and AI CLIs.
-
Claude, Codex, Copilot and Antigravity.
-
CI/CD recipes and multi-tool patterns.