rkt (pronounced "rock-it") is a CLI for running app containers on Linux. rkt is designed to be composable, secure, and fast.
Some of rkt's key features and goals include:
- First-class integration with init systems (systemd, upstart) and cluster orchestration tools (fleet, Kubernetes, Nomad)
- Compatibility with other container software (e.g. rkt can run Docker images)
- Modular and extensible architecture (network configuration plugins, swappable execution engines based on systemd or KVM)
For more on the background and motivation behind rkt, read the original launch announcement.
rkt is maturing rapidly while under active development, and its interfaces are not yet considered stable. We do not recommend its use in production, but we encourage you to try out rkt and provide feedback via issues and pull requests.
Check out the roadmap for more details on the future of rkt.
rkt is an implementation of the App Container (appc) spec. rkt's native image format (ACI) and runtime/execution environment (pods) are defined in the specification.
To get started quickly using rkt for the first time, start with the "trying out rkt" document. For an end-to-end example of building an application from scratch and running it with rkt, check out the getting started guide.
There are a number of different avenues for seeking help and communicating with the rkt community:
- For bugs and feature requests (including documentation!), file an issue
- For general discussion about both using and developing rkt, join the rkt-dev mailing list
- For real-time discussion, join us on IRC: #rkt-dev on freenode.org
- For more details on rkt development plans, check out the GitHub milestones
Most discussion about rkt development happens on GitHub via issues and pull requests. The rkt developers also host a semi-regular community sync meeting open to the public. This sync usually features demos, updates on the roadmap, and time for anyone from the community to ask questions of the developers or share users stories with others. For more details, including how to join and recordings of previous syncs, see the sync doc on Google Docs.
rkt is an open source project under the Apache 2.0 license, and contributions are gladly welcomed! See the Hacking Guide for more information on how to build and work on rkt. See CONTRIBUTING for details on submitting patches and the contribution workflow.
Due to a bug in the Linux kernel, using rkt's overlay support on top of an overlay filesystem requires Linux 4.3+.