La principal diferencia proviene del método muy diferente utilizado para lograr algún tipo de separación dentro de una máquina física. Docker se basa en la contenedorización , mientras que Vagrant utiliza la virtualización . ¿Cual es la diferencia?
Virtualización
Con la virtualización, cada máquina virtual ejecuta su propio sistema operativo completo dentro de un entorno de hardware simulado proporcionado por un programa llamado hipervisor que se ejecuta en el hardware físico. Ilustración:
- ¿Qué tipo de software se usa en misiles tierra-aire?
- ¿Cuál es el mejor lenguaje de programación para la aplicación de chat como WhatsApp?
- ¿Cuáles son algunas aplicaciones / softwares de edición de video y fotos buenos, gratuitos y fáciles de usar (combinados)?
- ¿Cuál es una desventaja de un software ERP basado en la web?
- ¿Hay algún truco para usar dos cuentas de WhatsApp desde el mismo móvil?
Este enfoque tiene sus ventajas y desventajas. Por mencionar los más obvios:
+++ la separación casi completa entre las máquinas virtuales y el host le permite tener máquinas virtuales Linux en un host de Windows o viceversa.
– – – tiene que dedicar una cantidad estática de recursos (CPU, RAM, almacenamiento) a las máquinas virtuales, y el hipervisor consumirá muchos recursos (esto generalmente se conoce como gastos generales )
La virtualización es ampliamente utilizada, es la tecnología de acceso a las infraestructuras en la nube.
// Auto-promoción: las máquinas virtuales ElasticHosts se crean con una forma de virtualización (Linux-KVM). //
Contenedorización
La contenedorización permite que varias aplicaciones se ejecuten en particiones aisladas de un solo núcleo de Linux que se ejecuta directamente en el hardware físico. Los cgroups y espacios de nombres de Linux son las tecnologías subyacentes del kernel de Linux que se utilizan para aislar, proteger y administrar los contenedores.
Pros y contras:
+++ El rendimiento es más alto que la virtualización ya que no hay sobrecarga del hipervisor y usted está más cerca del metal desnudo. Además, el contenedor simplemente utiliza los recursos que necesita, punto.
– – – Los contenedores usan el núcleo de la máquina host. No hay cosas divertidas de Windows en un host Linux.
// Auto-promoción: ver los contenedores elásticos //