Docker — это платформа с открытым исходным кодом, которая позволяет упаковывать, распространять и запускать приложения в изолированных контейнерах. Она ориентирована на контейнеризацию, предоставляя легковесные среды, которые инкапсулируют приложения и их зависимости.
Для изоляции и управления ресурсами контейнеров активно используется cgroup. Так же для изоляции активно используется Namespace. Все это функционал ядра Linux, поэтому не оказывает сильного влияния на производительность. Однако, нужно быть осторожным при работе с диском и сетью. С сетью больше всего проблем, например при запуске nginx можно получить просадку в 5%.
Обычно docker запускается от root пользователя.
- Установка Docker и Docker Compose
- Основные docker команды
- Dockerfile
- Docker Network
- Структура хранилища файлов Docker
- Очистка мусора в Docker
В архитектуре Docker выделяют 3 основных компонента:
- Docker client: Клиент Docker взаимодействует с демоном Docker.
- Docker host: Демон Docker принимает запросы к Docker API и управляет объектами Docker, такими как образы, контейнеры, сети и тома.
- Docker registry: Регистры Docker хранят образы Docker. Docker Hub — это публичный регистр, доступный для всех.
Полезное
- Утилита для анализа докер образов: Утилита Dive
- Утилита Hadolint. Проверяет докер файл на плохие практики.
- xfs более производительный
- Native Overlay Diff рекомендуют отключать (docker info)
- Полезные Docker образы