Architektura¶
Docker wykorzystuje architekturę klient-serwer. Klient Docker komunikuje się z demonem Docker, który wykonuje pracę związaną z budowaniem, uruchamianiem i dystrybucją kontenerów Docker. Klient i demon Docker mogą działać na tym samym systemie, albo można połączyć klienta Docker z zdalnym demonem Docker. Klient i demon Docker komunikują się za pomocą interfejsu API REST, przez gniazda UNIX lub interfejs sieciowy.
Docker daemon¶
Demon Docker (dockerd) nasłuchuje żądań Docker API i zarządza obiektami Docker, takimi jak obrazy, kontenery, sieci i wolumeny. Demon może również komunikować się z innymi demonami w celu zarządzania usługami Docker.
Zasada działania¶
Docker jest napisany w języku programowania Go i wykorzystuje kilka funkcji jądra Linux, aby dostarczać swoje funkcjonalności. Docker korzysta z technologii o nazwie namespaces (przestrzenie nazw), aby zapewnić izolowaną przestrzeń roboczą zwaną kontenerem. Kiedy uruchamiasz kontener, Docker tworzy zestaw przestrzeni nazw dla tego kontenera.
Źródło: https://docs.docker.com/get-started/docker-overview/