Docker Engine 29: Containerd Menjadi Default, Dukungan nftables Eksperimental
Docker Engine 29 menjadikan containerd sebagai penyimpanan gambar default dan memperkenalkan dukungan nftables eksperimental untuk jaringan Linux modern.
Docker, platform open-source terkemuka untuk mengembangkan, mengirim, dan menjalankan aplikasi dalam kontainer, secara resmi telah merilis Docker Engine 29, dengan fokus pada modernisasi dan penyesuaian dengan ekosistem kontainer yang lebih luas.
Perubahan yang paling signifikan adalah bahwa penyimpanan image containerd kini berfungsi sebagai default untuk semua instalasi baru. Perubahan ini menggantikan backend graph driver warisan Docker untuk mengelola lapisan image. Faktanya, hal ini tidaklah mengejutkan.
Containerd telah lama menjadi inti dari lapisan runtime Docker, tetapi sampai saat ini, Docker masih mengandalkan subsistem penyimpanannya sendiri untuk manajemen gambar. Adopsi penyimpanan gambar containerd menyederhanakan arsitektur Docker dengan menyatukan eksekusi dan penyimpanan, mengurangi duplikasi, dan menyelaraskan Docker Engine dengan platform seperti Kubernetes, yang sudah bergantung pada containerd.
Bagi pengguna, perubahan ini membawa manfaat berikut:
- Desain yang disederhanakan: Docker Engine sekarang menggunakan containerd untuk runtime dan penyimpanan.
- Interoperabilitas yang ditingkatkan: Selaras dengan alat dan alur kerja berbasis containerd.
- Inovasi masa depan: Memungkinkan fitur baru seperti optimisasi snapshotter, penarikan lambat (lazy pulling), dan distribusi gambar peer-to-peer.
Instalasi yang sudah ada akan terus menggunakan pengaturan saat ini, tetapi pengguna baru dan instalasi baru akan secara otomatis menggunakan store gambar containerd.
Tambahan lain yang patut diperhatikan adalah dukungan eksperimental untuk nftables. Sampai saat ini, Docker Engine mengandalkan iptables dan ip6tables tradisional untuk mengelola aturan jaringan bridge dan overlay. Namun, dengan distribusi Linux yang secara bertahap menghentikan penggunaan iptables, Docker bergerak menuju framework firewall yang lebih modern dan efisien.
Saat diaktifkan, Docker Engine v29 kini dapat membuat aturan nftables secara langsung tanpa bergantung pada terjemahan melalui iptables-nft. Pengguna dapat menguji nftables dengan memulai Docker menggunakan:
dockerd --firewall-backend=nftablesPerlu diingat bahwa fitur ini masih eksperimental dan belum disarankan untuk digunakan dalam produksi. Dukungan untuk Docker Swarm dan optimasi nftables lebih lanjut direncanakan untuk rilis mendatang.
Di balik layar, proyek Moby Docker—inti sumber terbuka di balik Docker Engine—telah bermigrasi ke modul Go, menggantikan sistem vendoring dependensi warisannya.
Pada saat yang sama, dengan Docker Engine v29, versi API minimum yang didukung telah dinaikkan menjadi 1.44, yang sesuai dengan Moby v25. Ini berarti bahwa klien Docker yang lebih lama (v25 dan sebelumnya) tidak lagi dapat berkomunikasi dengan Docker Engine terbaru secara default.
Selain itu, selain perubahan yang disebutkan di atas, versi baru ini mencakup banyak perbaikan bug dan peningkatan. Untuk detailnya, lihat changelog lengkap atau catatan rilis untuk edisi ini. Pengumuman resmi ada di Blog Docker.
Pengguna Linux yang menjalankan Docker dapat memperbarui ke versi 29 melalui repositori distribusi mereka. Pengguna Docker Desktop akan menerima perubahan ini secara otomatis dalam pembaruan mendatang untuk Docker Desktop.
