Finch — Open Source Container Development by AWS
Finch is an open-source container development tool by AWS that provides a seamless Docker-compatible CLI backed by containerd, nerdctl, and Lima.
What it is
Finch is an open-source container development tool created by AWS. It provides a Docker-compatible CLI for building, running, and pushing container images. Under the hood, Finch uses containerd as the runtime, nerdctl as the CLI interface, and Lima for managing a Linux VM on macOS.
Finch targets developers who want a free, open-source alternative to Docker Desktop. It is particularly relevant for AWS-oriented teams who want container tooling aligned with the containerd ecosystem that EKS and ECS use in production.
How it saves time or tokens
Finch provides a familiar Docker-like workflow without the Docker Desktop license. The CLI commands mirror Docker's, so existing muscle memory and scripts transfer directly. Finch also supports multi-platform builds (amd64, arm64) natively, which is useful for teams building container images that run on both x86 and ARM infrastructure.
Because Finch uses the same containerd runtime as EKS and ECS, images built locally behave identically in production, reducing the 'works on my machine' gap.
How to use
- Install Finch on macOS:
brew install --cask finch
- Initialize the VM and start using containers:
finch vm init
finch vm start
# Run a container
finch run -d -p 8080:80 nginx
# Build an image
finch build -t myapp:latest .
- Push to a registry:
finch push myapp:latest public.ecr.aws/myrepo/myapp:latest
Example
Building a multi-platform image for both x86 and ARM:
# Create a multi-platform builder
finch build --platform linux/amd64,linux/arm64 \
-t myapp:latest .
# Verify the image supports both architectures
finch inspect myapp:latest | grep Architecture
This produces a single image manifest that works on both Intel and Apple Silicon machines, as well as AWS Graviton instances.
Related on TokRepo
- AI tools for DevOps -- Container and infrastructure development tools
- Self-hosted tools -- Open-source alternatives for development
Common pitfalls
- Expecting full Docker Compose support. Finch supports basic compose files via nerdctl compose, but advanced features (profiles, extends) may not work identically to Docker Compose.
- VM resource limits. The default Lima VM has limited CPU and memory. Increase resources with
finch vm stop && finch vm init --cpus 4 --memory 8GiBfor heavy builds. - macOS-only limitation. As of 2026, Finch officially supports macOS. Windows support is in development. Linux users can use containerd and nerdctl directly.
Frequently Asked Questions
Finch is open source (Apache-2.0) and free for all use cases. Docker Desktop requires a paid subscription for organizations with 250+ employees. Both provide similar container development workflows, but Finch uses containerd instead of Docker Engine.
Yes. Finch builds standard OCI images from Dockerfiles. The build command syntax is nearly identical to Docker: 'finch build -t myimage .' replaces 'docker build -t myimage .'
Yes. Finch integrates with Amazon ECR for pushing and pulling images. Use 'finch login' with ECR credentials or configure the AWS credential helper for seamless authentication.
Not directly. Finch focuses on container image building and running. For local Kubernetes, pair Finch with tools like kind (Kubernetes in Docker/containerd) or minikube.
Finch uses containerd, the same runtime that powers Amazon EKS, Amazon ECS, and many Kubernetes distributions. This means images built with Finch behave identically in production containerd environments.
Citations (3)
- Finch GitHub— Finch is an open-source container development tool by AWS
- containerd GitHub— containerd is the industry-standard container runtime
- nerdctl GitHub— nerdctl provides Docker-compatible CLI for containerd
Related on TokRepo
Discussion
Related Assets
doctest — The Fastest Feature-Rich C++ Testing Framework
doctest is a single-header C++ testing framework designed for minimal compile-time overhead and maximum speed.
Chai — BDD/TDD Assertion Library for Node.js
Chai is a flexible assertion library for Node.js and browsers that supports expect, should, and assert styles.
Supertest — HTTP Assertion Library for Node.js APIs
Supertest provides a high-level API for testing HTTP servers in Node.js with fluent assertion chaining.