A container is a minimalist, isolated user-space environment that runs at the operating system level and shares system resources with other instances. Containers are designed to provide a portable and consistent runtime environment for applications, while consuming less resources than a traditional server or virtual machine. This allows for an overall better use of computing resources in multi-component, distributed applications, and highly-available systems.
Unlike virtual machines, which are typically built on top of computer-emulated hardware and run fully isolated operating systems, containers share resources from the host such as the kernel and the filesystem, which results in a smaller footprint.
Docker, a popular open source containerization tool, was largely instrumental in spurring the adoption of component-based application design with self-contained micro services. While other containerizing systems exist, Docker became popular for providing a more accessible and comprehensive interface around the technology.
To learn more about containers, you can refer to the following resources:
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Sign up for Infrastructure as a Newsletter.
Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.