digital-garden/meta/zero/00 Docker.md
Struchkov Mark 5c31e845f5
All checks were successful
continuous-integration/drone/push Build is passing
Обновление
2024-11-03 22:27:39 +03:00

3.3 KiB
Raw Blame History

tags zero-link aliases title
type/zero-link
00 DevOps
Docker
Docker

Docker — это платформа с открытым исходным кодом, которая позволяет упаковывать, распространять и запускать приложения в изолированных ../../dev/linux/Контейнерная виртуализация. Она ориентирована на контейнеризацию, предоставляя легковесные среды, которые инкапсулируют приложения и их зависимости.

Для изоляции и управления ресурсами контейнеров активно используется cgroup. Так же для изоляции активно используется Namespace. Все это функционал ядра Linux, поэтому не оказывает сильного влияния на производительность. Однако, нужно быть осторожным при работе с диском и сетью. С сетью больше всего проблем, например при запуске nginx можно получить просадку в 5%.

Обычно docker запускается от root пользователя.

!../files/images/Pasted image 20241103220121.png

В архитектуре 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 образы