Docker Engine 29: Containerd Menjadi Tetapan Lalai, Sokongan nftables Eksperimen
Docker Engine 29 menetapkan containerd sebagai stor imej lalai dan memperkenalkan sokongan nftables eksperimental untuk rangkaian Linux moden.
Docker, platform sumber terbuka terkemuka untuk membangunkan, menghantar, dan menjalankan aplikasi dalam kontena, telah secara rasmi mengeluarkan Docker Engine 29, dengan fokus pada pemodenan dan penyelarasan dengan ekosistem kontena yang lebih luas.
Perubahan yang paling ketara ialah stor imej containerd kini berfungsi sebagai lalai untuk semua pemasangan baharu. Peralihan ini menggantikan backend graph driver warisan Docker untuk mengurus lapisan imej. Sebenarnya, ini bukan sesuatu yang mengejutkan.
Containerd telah lama menjadi inti kepada lapisan runtime Docker, tetapi sehingga kini, Docker masih bergantung pada subsistem storan sendiri untuk pengurusan imej. Penggunaan kedai imej containerd memudahkan seni bina Docker dengan menyatukan pelaksanaan dan storan, mengurangkan penggandaan, dan menyelaraskan Docker Engine dengan platform seperti Kubernetes, yang sudah bergantung pada containerd.
Bagi pengguna, perubahan ini membawa manfaat berikut:
- Reka bentuk dipermudahkan: Docker Engine kini menggunakan containerd untuk kedua-dua runtime dan storan.
- Interoperabiliti yang dipertingkatkan: Selari dengan alat dan aliran kerja berasaskan containerd.
- Inovasi masa depan: Membolehkan ciri baru seperti pengoptimuman snapshotter, pemindahan malas, dan pengedaran imej rakan-ke-rakan.
Pemasangan sedia ada akan terus menggunakan tetapan semasa, tetapi pengguna baru dan pemasangan baru akan secara automatik menggunakan stor imej containerd.
Satu lagi penambahan yang patut diperhatikan ialah sokongan eksperimental untuk nftables. Sehingga kini, Docker Engine bergantung pada iptables dan ip6tables tradisional untuk menguruskan peraturan rangkaian jambatan dan overlay. Walau bagaimanapun, dengan pengedaran Linux secara beransur-ansur menghentikan penggunaan iptables, Docker sedang bergerak ke arah rangka kerja firewall yang lebih moden dan efisien.
Apabila diaktifkan, Docker Engine v29 kini boleh mencipta peraturan nftables secara langsung tanpa bergantung pada terjemahan melalui iptables-nft. Pengguna boleh menguji nftables dengan memulakan Docker dengan:
dockerd --firewall-backend=nftablesPerlu diingat bahawa ciri ini masih dalam peringkat percubaan dan belum disyorkan untuk digunakan dalam produksi. Sokongan untuk Docker Swarm dan penambahbaikan nftables lanjut dirancang untuk keluaran akan datang.
Di sebalik tabir, projek Moby Docker—inti sumber terbuka di sebalik Docker Engine—telah berpindah ke modul Go, menggantikan sistem pengurusan kebergantungan lama.
Pada masa yang sama, dengan Docker Engine v29, versi API minimum yang disokong telah dinaikkan kepada 1.44, bersamaan dengan Moby v25. Ini bermakna klien Docker yang lebih lama (v25 dan ke bawah) tidak lagi boleh berkomunikasi dengan Docker Engine terbaru secara lalai.
Selain itu, selain daripada perubahan yang disebutkan di atas, versi baru ini termasuk banyak pembetulan pepijat dan penambahbaikan. Untuk maklumat lanjut, lihat changelog penuh atau nota pelepasan untuk edisi ini. Pengumuman rasmi ada di Blog Docker.
Pengguna Linux yang menggunakan Docker boleh mengemas kini ke versi 29 melalui repositori pengedaran mereka. Pengguna Docker Desktop akan menerima perubahan ini secara automatik dalam kemas kini akan datang untuk Docker Desktop.
