lxc:lxc_vs_docker
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
lxc:lxc_vs_docker [2021/01/03 14:26] – peter | lxc:lxc_vs_docker [2021/01/03 14:53] (current) – peter | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== LXC - LXC vs Docker ====== | ====== LXC - LXC vs Docker ====== | ||
+ | |||
+ | LXC allows the creation and running of multiple isolated Linux virtual environments on a single control host. | ||
+ | |||
+ | * It allows you to not only isolate applications, | ||
+ | * As there is no preloaded emulation manager software, it runs with no added overhead; i.e. faster and with less RAM. | ||
+ | * There is no hardware emulation, which means that aside from a small memory software penalty, LXC will boast bare metal performance characteristics because it only packages the needed applications. | ||
+ | |||
+ | A Docker container does not include a separate operating system; instead it relies on the operating system’s own functionality as provided by the underlying infrastructure. | ||
+ | |||
+ | * Docker packages the application and all its dependencies in a virtual container that can run on any Linux server. | ||
+ | * Packages the entire OS and machine setup, including hard drive, virtual processors and network interfaces. | ||
+ | * CON: The resulting bloated mass usually takes a long time to boot and consumes a lot of CPU and RAM. | ||
+ | * PRO: It can be transferred and quickly installed onto another host. | ||
+ | |||
+ | ---- | ||
^ ^LXC^Docker^ | ^ ^LXC^Docker^ | ||
^Architecture|Supports a fully-virtualized Linux OS including boot-up procedures.|Single image running as an application.| | ^Architecture|Supports a fully-virtualized Linux OS including boot-up procedures.|Single image running as an application.| | ||
^Purposes|Run multiple applications in a single Linux VM.|Run a single application within a single container.| | ^Purposes|Run multiple applications in a single Linux VM.|Run a single application within a single container.| | ||
- | ^Requirements|Requires a fully-functional Linux OS.| | | + | ^Requirements|Requires a fully-functional Linux OS.|Running isolated containers simultaneously.| |
- | |:::|:::|Running isolated containers simultaneously.| | + | |
^Advantages|A lightweight alternative to virtual machines.|Rapid and easy deployment.| | ^Advantages|A lightweight alternative to virtual machines.|Rapid and easy deployment.| | ||
- | |:::|More flexible|Application-centric, | + | |:::|More flexible.|Application-centric, |
|:::|Data can be saved in a container.|Component re-use.| | |:::|Data can be saved in a container.|Component re-use.| | ||
+ | |:::| |Versioning: | ||
+ | |:::| |Component reuse: Docker allows building or stacking of already created packages. | ||
+ | |:::| |Shared libraries: | ||
lxc/lxc_vs_docker.1609683967.txt.gz · Last modified: 2021/01/03 14:26 by peter