docker
Docker es una plataforma que utiliza la virtualización a nivel de sistema operativo para entregar software en paquetes llamados contenedores.
Docker permite a los desarrolladores empaquetar aplicaciones con todas sus dependencias, bibliotecas y configuraciones en un contenedor. Este contenedor está aislado del sistema operativo anfitrión y de otros contenedores, lo que garantiza la consistencia en diferentes entornos. Los contenedores Docker son ligeros, portátiles y eficientes, lo que los hace ideales para el desarrollo y la implementación de software moderno.
Docker utiliza la containerización, que es una forma de virtualización que utiliza el kernel del sistema operativo anfitrión. A diferencia de las máquinas virtuales, los contenedores comparten el kernel del sistema operativo anfitrión, lo que los hace más eficientes en el uso de recursos y más rápidos de iniciar. Este enfoque permite a los desarrolladores construir, enviar y ejecutar aplicaciones de manera consistente en varios entornos, desde máquinas de desarrollo hasta servidores de producción.
graph LR
Center["docker"]:::main
Pre_operating_systems["operating-systems"]:::pre --> Center
click Pre_operating_systems "/terms/operating-systems"
Rel_kubernetes["kubernetes"]:::related -.-> Center
click Rel_kubernetes "/terms/kubernetes"
Rel_microservices["microservices"]:::related -.-> Center
click Rel_microservices "/terms/microservices"
Rel_devops["devops"]:::related -.-> Center
click Rel_devops "/terms/devops"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧠 Prueba de conocimiento
🧒 Explícalo como si tuviera 5 años
📦 A tool that puts your software in a 'magic box' so it works exactly the same on your laptop, a server, or a cloud provider.
🤓 Expert Deep Dive
## Containers vs. Virtual Machines
- Virtual Machines: Each VM includes a full copy of an operating system, the application, and necessary binaries. This makes them slow to start and resource-heavy.
- Docker Containers: Containers share the host system's kernel. They only include the application and its specific dependencies. This makes them 10x to 100x more efficient than VMs and allows them to start in milliseconds.