ko
A container image builder for Go applications that works without a Dockerfile or Docker installed.
These buttons open the developer's own site, repository or store listing in a new tab. wares.gg does not host downloads.
1 more ways to get ko
Package managers
- Homebrew
brew install ko
About ko
ko builds container images for Go applications by running go build on your machine, so Docker does not need to be installed. It is aimed at images holding a single Go binary without cgo or operating system package dependencies, which makes it a light fit for CI/CD.
It handles multi-platform builds, produces SBOMs by default and supports simple YAML templating for Kubernetes deployments. ko is a Cloud Native Computing Foundation Sandbox project used by Knative, Tekton, Karpenter, Kyverno and Sigstore.
Strengths
- No Dockerfile or Docker installation needed
- Multi-platform builds and SBOMs by default
- YAML templating for Kubernetes deployments
Limitations
- Only for Go applications
- Not suited to images needing cgo or OS packages
Details
- Pricing
- FreeFree to use; the source is published on GitHub.
- License
- Open source, license not stated
- Developer
- The ko contributors
- Platforms
- Command line
- How it runs
- Downloadable app
- Account
- Not required
- Best suited for
- Go developers shipping single-binary services to Kubernetes
- Categories
- Container tools, Developer tools
- Last verified
- Added
- Provenance
- Facts checked against the developer's own pages and store listings, 1 sources on file.
Alternatives to ko
Compare allSoftware that can replace ko for an important use case, and what changes if you switch.
Cloud Native Buildpacks
Tooling that turns application source code into container images without writing a Dockerfile.
Cloud Native Buildpacks builds images from source without a Dockerfile for many languages, not only Go, but gives less direct control over the resulting image.
Buildah
A command-line tool for building OCI container images without a running daemon.
Buildah builds OCI images without a daemon for any application, but images are defined by you through scripts or Dockerfiles instead of ko's Go-specific automatic builds.
Docker Buildx
A Docker CLI plugin that extends image builds with BuildKit, including multi-platform builds.
Docker Buildx offers multi-platform builds through BuildKit for any language, but it requires the Docker CLI and a Dockerfile, which ko avoids.
Similar software
Related functionality, not necessarily a direct replacement.
Skaffold
A command-line tool that automates building, pushing and deploying applications during Kubernetes development.
GoReleaser
A command-line release automation tool that builds, packages, signs and publishes software binaries.
Go
An open-source compiled programming language from Google with built-in concurrency and a module system.
Container Structure Test
A command-line tool for validating the structure and contents of container images against defined tests.
ORAS
A command-line tool and client libraries for pushing and pulling OCI artifacts to container registries.
Kubernetes
An open-source system for automating deployment, scaling and management of containerized applications across machines.