docker
Docker to platforma, która wykorzystuje wirtualizację na poziomie systemu operacyjnego do dostarczania oprogramowania w pakietach zwanych kontenerami.
Docker pozwala programistom pakować aplikacje ze wszystkimi ich zależnościami, bibliotekami i konfiguracjami w kontener. Ten kontener jest izolowany od hostującego systemu operacyjnego i innych kontenerów, zapewniając spójność w różnych środowiskach. Kontenery Docker są lekkie, przenośne i wydajne, co czyni je idealnymi do nowoczesnego tworzenia i wdrażania oprogramowania.
Docker wykorzystuje konteneryzację, która jest formą wirtualizacji, która wykorzystuje jądro systemu operacyjnego hosta. W przeciwieństwie do maszyn wirtualnych, kontenery współdzielą jądro systemu operacyjnego hosta, co sprawia, że są bardziej wydajne pod względem zasobów i szybciej się uruchamiają. Takie podejście pozwala programistom na spójne budowanie, wysyłanie i uruchamianie aplikacji w różnych środowiskach, od maszyn deweloperskich po serwery produkcyjne.
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;
🧠 Sprawdzenie wiedzy
🧒 Wyjaśnij jak 5-latkowi
📦 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.