Gameplay demo of Crossy Whale showing the Docker whale navigating container obstacles

A Tour of the Docker Ecosystem in One Demo

Most container tutorials isolate individual tools. You read one guide on writing multi-stage Dockerfiles, another on setting up Compose networking, and a third on integration testing. Seeing how these pieces integrate into a cohesive, production-grade architecture is much rarer. The open-source repository krisfoster/crossy-whale demonstrates this more complete workflow through a playable demo. It is a browser-based arcade game starring the Docker whale navigating lanes of container traffic, built in Go and vanilla JavaScript. Beneath the game sits an architecture showcasing six core container technologies in a single repository. 1. Multi-Service Orchestration with Docker Compose Running the entire stack locally requires one command: docker compose up -d Open docker-compose.yml. Compose coordinates five core services on a shared private bridge network: ...

September 1, 2026 · 6 min · 1197 words · me@krismade.me
Aged 17th-century pamphlet illustration of an automaton in a quarantine casket and a clerk applying a seal

Running Claude Code on AWS Bedrock Inside Docker Sandbox

Running AI coding agents inside disposable, network-isolated containers protects your host environment from unintended commands and untrusted dependencies. Docker Sandbox (sbx), Docker’s CLI tool for running coding agents inside isolated microVMs, enforces strict default-deny egress policies. However, authenticating Claude Code against AWS Bedrock inside sbx introduces specific credential challenges that standard bearer token proxying, the default for sbx, cannot handle. The companion repository krisfoster/claude-code-bedrock-sbx demonstrates two working architectures for connecting Claude Code to AWS Bedrock via AWS SSO: using the built-in claude-bedrock agent kit, or routing requests through a host-side LiteLLM proxy gateway. Why Bedrock Breaks Standard Sandbox Secrets Most AI providers authenticate requests with static bearer tokens sent in an HTTP authorization header. In that scenario, sbx keeps real API keys on the host machine. The sandbox guest container receives a placeholder string. When the agent issues an outbound request, the sbx host proxy intercepts the traffic, strips the placeholder, and injects the genuine secret before forwarding the call upstream. Real credentials never enter the microVM. ...

August 31, 2026 · 6 min · 1202 words · me@krismade.me