[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-docker-opishite-arkhitekturu-docker":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":18,"progress":19,"seo":20},1076,"opishite-arkhitekturu-docker",17,"docker","Docker","🐳","Опишите архитектуру Docker","Docker использует клиент-серверную архитектуру, состоящую из нескольких компонентов.\n\n### Docker Daemon (dockerd)\n\nСерверный процесс, который управляет Docker-объектами: образами, контейнерами, сетями и томами. Daemon слушает запросы через Docker API (REST API по Unix-сокету или TCP). Он отвечает за сборку образов, запуск контейнеров, управление сетями и хранением.\n\n### Docker Client (docker)\n\nОсновной интерфейс для взаимодействия пользователя с Docker. Когда пользователь вводит команду вроде `docker run`, клиент отправляет соответствующий запрос к Docker Daemon через Docker API. Клиент может работать с удалённым daemon.\n\n### Docker Engine\n\nОбщее название для комбинации Docker Daemon, REST API и CLI-клиента. Docker Engine бывает двух редакций:\n- Docker Engine Community (CE) — бесплатная версия.\n- Docker Engine Enterprise (EE) — коммерческая версия с дополнительными функциями.\n\n### Containerd\n\nСреда выполнения контейнеров (container runtime), которую Docker использует внутри для управления жизненным циклом контейнеров. Containerd отвечает за загрузку образов, запуск и остановку контейнеров.\n\n### Схема взаимодействия\n\n```\nDocker Client (CLI)\n    │\n    │  REST API\n    ▼\nDocker Daemon (dockerd)\n    │\n    ▼\nContainerd → runc (создание контейнеров)\n    │\n    ▼\nКонтейнеры, Образы, Тома, Сети\n```\n\n> **На собеседовании:** важно показать, что Docker — это не монолит, а клиент-серверная архитектура. CLI-клиент общается с daemon через REST API, а daemon делегирует запуск контейнеров containerd\u002Frunc. Знание этой цепочки показывает понимание того, как работает Docker на уровне процессов.","","middle",[15,16,17,7],"docker-daemon","containerd","architecture",[],null,{"title":21,"description":22,"ogTitle":21,"ogDescription":23,"keywords":24,"schemaAnswer":34,"featuredSnippetReady":35},"Архитектура Docker: Daemon, Client, Containerd — Gymterview","Архитектура Docker: клиент-серверная модель, Docker Daemon (dockerd), Docker Client (CLI), Containerd, runc. Схема взаимодействия компонентов.","Клиент-серверная архитектура Docker: CLI общается с Daemon через REST API, Daemon делегирует запуск контейнеров Containerd\u002Frunc.",[25,26,27,28,29,30,31,32,33],"архитектура Docker","Docker Daemon","dockerd","Docker Client","Containerd","runc","Docker Engine","REST API","собеседование","Docker использует клиент-серверную архитектуру. Docker Client (CLI) отправляет команды через REST API к Docker Daemon (dockerd), который управляет образами, контейнерами, сетями и томами. Daemon делегирует запуск контейнеров Containerd (container runtime), а Containerd использует runc для непосредственного создания контейнеров. Docker Engine — общее название для Daemon + REST API + CLI.",true]