Junior
Na jakich zasadach działa Docker?
sobes.tech AI
Odpowiedź od AI
Docker działa na następujących kluczowych zasadach:
- Konteneryzacja: Izolacja aplikacji i ich zależności w standaryzowanych, przenośnych modułach (kontenerach).
- Obrazy: Lekkie, autonomiczne pakiety wykonywalne, zawierające wszystko, co jest potrzebne do uruchomienia aplikacji (kod, biblioteki, narzędzia systemowe, ustawienia). Są budowane krok po kroku za pomocą Dockerfile.
- Warstwy: Obrazy składają się z warstw. Każda warstwa reprezentuje zestaw zmian w systemie plików. Warstwy są buforowane i mogą być wielokrotnie wykorzystywane przez różne obrazy, co oszczędza miejsce i przyspiesza budowę.
- Izolacja: Kontenery korzystają z mechanizmów izolacji jądra Linux (namespace i cgroups), aby oddzielić procesy, systemy plików, sieć i inne zasoby od systemu hosta i innych kontenerów.
- Niezmienność obrazów: Podczas uruchamiania kontenera na podstawie obrazu, sam obraz nie ulega zmianie. Wszystkie zmiany wewnątrz kontenera zachodzą w warstwie zapisu nad bazowym obrazem, który jest usuwany razem z kontenerem (jeśli nie są używane wolumeny).
- Przenośność: Kontener, opracowany i zbudowany w jednym środowisku, może być uruchomiony w dowolnym innym środowisku, gdzie zainstalowany jest Docker, bez konieczności dodatkowych ustawień zależności na hoście.
- Podejście deklaratywne: Dockerfile opisuje proces budowy obrazu w stylu deklaratywnym, czyniąc go powtarzalnym i automatycznym.
Przykład Dockerfile:
# Używamy bazowego obrazu Alpine Linux
FROM alpine:latest
# Instalujemy pakiet curl
RUN apk add --no-cache curl
# Określamy polecenie do uruchomienia przy starcie kontenera
CMD ["curl", "https://www.example.com"]