Docker Engine 29: Containerd blir standard, experimentellt stöd för nftables
Docker Engine 29 ställer in containerd som standardbildslagret och introducerar experimentellt stöd för nftables för modern Linux-nätverk.
Docker, en ledande öppen källkodsplattform för att utveckla, distribuera och köra applikationer inom containers, har officiellt släppt Docker Engine 29, med fokus på modernisering och anpassning till det bredare container-ekosystemet.
Den mest betydande förändringen är att containerd:s bildförråd nu fungerar som standard för alla nya installationer. Denna förändring ersätter Dockers äldre graph driver-backend för hantering av bildlager. Faktum är att detta inte är förvånande.
Containerd har länge varit kärnan i Dockers körningslager, men fram till nu har Docker fortsatt att förlita sig på sitt eget lagringssystem för bildhantering. Införandet av containerds bildlagring förenklar Dockers arkitektur genom att förena körning och lagring, minska duplicering och anpassa Docker Engine med plattformar som Kubernetes, som redan är beroende av containerd.
För användare medför denna förändring följande fördelar:
- Förenklad design: Docker Engine använder nu containerd för både körning och lagring.
- Förbättrad interoperabilitet: Fungerar med verktyg och arbetsflöden baserade på containerd.
- Framtida innovation: Möjliggör nya funktioner som optimering av snapshotter, fördröjd hämtning och peer-to-peer-bilddistribution.
Befintliga installationer kommer att fortsätta använda den nuvarande konfigurationen, men nya användare och färska installationer kommer automatiskt att använda containerd:s bildförråd.
En annan anmärkningsvärd nyhet är experimentellt stöd för nftables. Fram till nu har Docker Engine förlitat sig på traditionella iptables och ip6tables för hantering av bro- och overlay-nätverksregler. Men eftersom Linux-distributioner gradvis avvecklar iptables, rör sig Docker mot ett mer modernt och effektivt brandväggsramverk.
När det är aktiverat kan Docker Engine v29 nu skapa nftables-regler direkt istället för att förlita sig på översättning via iptables-nft. Användare kan testa nftables genom att starta Docker med:
dockerd --firewall-backend=nftablesTänk på att denna funktion fortfarande är experimentell och ännu inte rekommenderas för produktion. Stöd för Docker Swarm och ytterligare nftables-optimeringar planeras för kommande versioner.
Under huven har Dockers Moby-projekt—den öppna källkoden bakom Docker Engine—migrerat till Go-moduler och ersatt sitt äldre system för hantering av beroenden.
Samtidigt, med Docker Engine v29, har den lägsta stödda API-versionen höjts till 1.44, motsvarande Moby v25. Detta innebär att äldre Docker-klienter (v25 och tidigare) inte längre kommer att kunna kommunicera med den senaste Docker Engine som standard.
Dessutom, utöver de ovan nämnda förändringarna, innehåller den nya versionen massor av buggfixar och förbättringar. För detaljer, se den fullständiga förändringsloggen eller versionsanteckningarna för denna utgåva. Det officiella tillkännagivandet finns på Docker Blog.
Linux-användare som kör Docker kan uppdatera till version 29 via sina distributioners paketförråd. Användare av Docker Desktop kommer att få dessa ändringar automatiskt i kommande uppdateringar av Docker Desktop.
