Серия1 частьВиталий Лещенко

Windows контейнеры вручную

Серия о том, как устроены Windows-контейнеры изнутри — сверху вниз, по одному слою инструментов за раз. Начинаем с Windows Server, на котором нет ни Docker, ни Kubernetes: руками ставим containerd, сеть и nerdctl и разбираемся с изоляцией процессов, сетью, подключением папок и лимитами. Дальше даём контейнерам имена и адреса, заглядываем внутрь работающего контейнера, скачиваем образ и готовим его слои без containerd, а затем обходимся и без рантайма — создаём контейнер и его сеть прямыми вызовами HCS и HNS. В конце — изоляция Hyper-V, сборка образа без Docker и HostProcess-контейнеры.

Серия опирается на блок о Windows-узлах в серии Kubernetes для самых маленьких (части 36, 37, 38, 39, 40): там объяснены понятия, здесь — то, что под ними. Все примеры проверены на Windows Server 2025 и лежат в репозитории windows-containers-by-hand.

  1. Часть 1

    Ставим containerd без Docker и Kubernetes

    На Windows Server 2025 без Docker и Kubernetes containerd ставится из архива с GitHub в C:\Program Files\containerd, регистрируется службой командой containerd --register-service и сразу запускает контейнеры с изоляцией процессов. Сеть даёт CNI-плагин Microsoft nat: он сам создаёт сеть HNS nat, выдаёт контейнерам адреса из внутренней подсети и публикует порты политикой на конечной точке HNS. nerdctl добавляет команды Docker, умеет подключать к контейнеру не только папки, но и отдельные файлы хоста и передаёт лимиты --memory и --cpus в спецификацию контейнера, а Windows соблюдает их через объект задания.

Серия не завершена: следующие части готовятся к публикации.

  • Часть 2: Даём контейнерам имена и адреса
  • Часть 3: Что внутри работающего Windows-контейнера?
  • Часть 4: Скачиваем образ и готовим слои без containerd
  • Часть 5: Запускаем контейнер без рантайма через HCS
  • Часть 6: Изоляция Hyper-V: контейнер в своей виртуальной машине
  • Часть 7: Собираем Windows-образ без Docker и загружаем его в реестр
  • Часть 8: Запускаем HostProcess-контейнеры и разбираем их образ