docker
Docker ist eine Plattform, die Virtualisierung auf Betriebssystemebene verwendet, um Software in Paketen, sogenannten Containern, bereitzustellen.
Docker ermöglicht es Entwicklern, Anwendungen mit all ihren Abhängigkeiten, Bibliotheken und Konfigurationen in einem Container zu verpacken. Dieser Container ist vom Host-Betriebssystem und anderen Containern isoliert, wodurch die Konsistenz in verschiedenen Umgebungen gewährleistet wird. Docker-Container sind leichtgewichtig, portabel und effizient, was sie ideal für die moderne Softwareentwicklung und -bereitstellung macht.
Docker verwendet Containerisierung, eine Form der Virtualisierung, die den Host-Betriebssystem-Kernel verwendet. Im Gegensatz zu virtuellen Maschinen teilen sich Container den Host-Betriebssystem-Kernel, wodurch sie ressourceneffizienter und schneller zu starten sind. Dieser Ansatz ermöglicht es Entwicklern, Anwendungen konsistent in verschiedenen Umgebungen zu erstellen, zu versenden und auszuführen, von Entwicklungsumgebungen bis hin zu Produktionsservern.
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;
🧠 Wissenstest
🧒 Erkläre es wie einem 5-Jährigen
📦 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.