Bottlerocket — Container-Optimized Linux OS by AWS
A minimal, security-focused Linux distribution built by AWS specifically for running containers. Bottlerocket reduces attack surface with an immutable root filesystem, automatic updates, and API-driven configuration.
Installation agent prête
Cet actif peut être installé après choix du runtime, vérification du plan et exécution de la commande adaptée.
npx -y tokrepo@latest install 4c93666f-39d2-11f1-9bc6-00163e2b0d79 --target codexÀ exécuter après confirmation du plan en dry-run.
What it is
Bottlerocket is a minimal Linux distribution built by AWS specifically for running containers. It reduces the attack surface with an immutable root filesystem, removes unnecessary packages (no shell by default, no package manager), and provides automatic updates with rollback support.
Bottlerocket targets teams running containers on EKS, ECS, or bare metal who want a hardened, low-maintenance host OS. Configuration is done through an API rather than SSH, aligning with infrastructure-as-code practices.
How it saves time or tokens
Traditional container hosts run full Linux distributions (Ubuntu, Amazon Linux) with thousands of packages that need patching. Bottlerocket includes only what containers need, reducing the number of CVEs to track and patch. Automatic updates happen atomically with rollback, eliminating manual OS maintenance.
The API-driven configuration means no SSH sessions, no Ansible playbooks for OS-level settings -- just API calls or user-data at boot.
How to use
- Launch Bottlerocket on AWS EKS:
aws ec2 run-instances \
--image-id resolve:ssm:/aws/service/bottlerocket/aws-k8s-1.29/x86_64/latest/image_id \
--instance-type m5.large \
--key-name my-key \
--user-data file://config.toml
- Configure via TOML user-data:
[settings.kubernetes]
cluster-name = "my-cluster"
api-server = "https://my-eks-endpoint.amazonaws.com"
cluster-certificate = "base64-cert..."
- Nodes join the EKS cluster automatically. No SSH needed for normal operations.
Example
# Check Bottlerocket version via the admin container
# (debug access, disabled by default)
enter-admin-container
apiclient get settings.kubernetes
# Returns cluster configuration
apiclient set settings.ntp.time-servers='["169.254.169.123"]'
# Changes NTP settings via API
# Trigger an update
apiclient update check
apiclient update apply
EKS managed node group with Bottlerocket:
eksctl create nodegroup \
--cluster my-cluster \
--node-ami-family Bottlerocket \
--nodes 3
Related on TokRepo
- AI Tools for DevOps -- Container and infrastructure management tools
- AI Tools for Security -- Security-focused infrastructure tools
Common pitfalls
- Bottlerocket has no shell or package manager by default. If you need to debug, enable the admin container explicitly. This is by design for security.
- Not all EKS add-ons or DaemonSets work out of the box on Bottlerocket. Test your observability and networking agents before rolling out.
- Bottlerocket updates are atomic. If an update fails, the system rolls back to the previous version. Monitor update status via the API.
Questions fréquentes
Bottlerocket is built by AWS but supports VMware and bare metal deployments in addition to AWS. The EKS variant is most popular, but other variants exist for different environments.
Not by default. Bottlerocket is designed to be managed via API. An admin container can be enabled for emergency debugging, which provides a shell, but this should not be used for normal operations.
Bottlerocket uses image-based updates. The entire OS partition is replaced atomically, with the previous version kept for rollback. Updates can be triggered via the API or automated through the update operator in Kubernetes.
Yes. Bottlerocket is open-source under Apache 2.0 and MIT licenses. You pay only for the AWS infrastructure (EC2 instances) running it.
Amazon Linux is a general-purpose OS with full package management. Bottlerocket is container-only with a minimal footprint, immutable filesystem, and API-driven configuration. Bottlerocket has fewer CVEs and lower maintenance overhead.
Sources citées (3)
- Bottlerocket GitHub Repository— Bottlerocket is a container-optimized Linux by AWS
- AWS Bottlerocket Documentation— Immutable root filesystem and API-driven configuration
- Bottlerocket Design— Automatic atomic updates with rollback support
En lien sur TokRepo
Fil de discussion
Actifs similaires
LinuxKit — Toolkit for Building Secure Container-Optimized OS Images
Build minimal, immutable Linux distributions purpose-built for running containers. Compose your OS from signed components and produce bootable images for bare metal, VMs, or cloud platforms.
Lima — Linux Virtual Machines for Container Development
Run Linux VMs on macOS and Linux with automatic file sharing, port forwarding, and containerd integration for seamless container workflows.
Sysdig — Deep System Visibility and Container Troubleshooting for Linux
Sysdig is an open-source system exploration tool that captures kernel-level events on Linux. It combines the power of strace, tcpdump, and top into a single CLI with container-native awareness.
Distroless — Minimal Container Images by Google
Language-focused container images that strip away the OS layer for smaller, more secure production containers.