Docker Engine 29: Оновлення з підтримкою containerd

Docker Engine 29: Оновлення з підтримкою containerd

Docker, провідна відкрито джерельна платформа для розробки, доставки та запуску додатків у контейнерах, офіційно випустила Docker Engine 29. Це оновлення зосереджується на модернізації та узгодженні з більшою екосистемою контейнерів.

Основні зміни в Docker Engine 29

Найзначнішою зміною є те, що сховище зображень containerd тепер є за замовчуванням для всіх нових установок. Це рішення замінює застарілу підсистему Docker для управління шарами зображень. Це не стало несподіванкою, адже containerd вже давно є основою для рендерингу в Docker.

До цього моменту Docker покладався на свою власну підсистему зберігання для управління зображеннями, але прийняття сховища зображень containerd спрощує архітектуру Docker. Це об’єднує процес виконання та зберігання, зменшуючи дублювання та узгоджуючи Docker Engine з платформами, такими як Kubernetes, які вже залежать від containerd.

Переваги для користувачів Docker Engine 29

Для користувачів це оновлення приносить такі переваги:

  • Спрощений дизайн: Docker Engine тепер використовує containerd як для виконання, так і для зберігання.
  • Покращена взаємодія: узгоджено з інструментами та робочими процесами на основі containerd.
  • Майбутні інновації: дозволяє нові функції, такі як оптимізації для знімків, відкладене отримання та розподіл зображень через p2p.

Існуючі установки продовжать використовувати попередню версію, але нові користувачі та свіжі установки автоматично приймуть сховище зображень containerd.

Експериментальна підтримка nftables у Docker Engine 29

Ще однією важливою новинкою є експериментальна підтримка nftables. До цього Docker Engine покладався на традиційні iptables і ip6tables для управління правилами мережевих мостів і накладних мереж. Однак, оскільки дистрибутиви Linux поступово відмовляються від iptables, Docker переходить на більш сучасний та ефективний фреймворк для брандмауера.

Тепер, якщо ця функція активована, Docker Engine v29 може створювати правила nftables безпосередньо, а не за допомогою трансляції через iptables-nft. Користувачі можуть протестувати nftables, запустивши Docker з командою:

dockerd --firewall-backend=nftables

Зверніть увагу, що ця функція все ще експериментальна та не рекомендується для використання в продуктивному середовищі. Підтримка Docker Swarm і подальші оптимізації nftables плануються в наступних випусках.

Підтримка нових стандартів у Docker Engine 29

У покращенні Docker, проект Moby—відкритий код, що є основою Docker Engine—мігрував на модулі Go, замінивши свою стару систему управління залежностями.

З оновленням Docker Engine v29 мінімальна підтримувана версія API підвищена до 1.44, що відповідає Moby v25. Це означає, що старі клієнти Docker (v25 та нижче) більше не зможуть за замовчуванням взаємодіяти з останньою версією Docker Engine.

Крім того, нова версія включає безліч виправлень помилок і поліпшень. За деталями дивіться повний журнал змін або примітки до випуску цього видання. Офіційне повідомлення на Docker Blog.

Корисники Linux, які використовують Docker, можуть оновитися до версії 29 через репозиторії своїх дистрибутивів. Користувачі Docker Desktop отримають ці зміни автоматично в оновленнях Docker Desktop.