Sobes.tech
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"]