Pengguna Podman Temui Penyelesaian untuk Sokongan BuildKit, Tetapi Komuniti Menggalakkan Quadlets sebagai Alternatif yang Lebih Baik

Pasukan Komuniti BigGo
Pengguna Podman Temui Penyelesaian untuk Sokongan BuildKit, Tetapi Komuniti Menggalakkan Quadlets sebagai Alternatif yang Lebih Baik

Satu kejayaan terkini dalam teknologi kontena telah menunjukkan cara untuk membolehkan sokongan BuildKit dalam Podman melalui Docker Compose CLI, tetapi respons komuniti mendedahkan peralihan yang lebih mendalam ke arah penyelesaian Podman asli. Walaupun pembangun telah bergelut dengan keserasian Docker Compose yang terhad dalam Podman, penyelesaian sementara baharu dan pendekatan alternatif sedang membentuk semula cara aplikasi berkontena digunakan.

Cabaran asal berpunca daripada dua pilihan Docker Compose dalam Podman yang kedua-duanya mempunyai batasan yang ketara. Docker Compose CLI rasmi tidak mempunyai sokongan BuildKit apabila disambungkan kepada Podman, kehilangan ciri-ciri seperti konteks tambahan. Sementara itu, podman-compose, walaupun menyokong BuildKit, tidak mempunyai ciri-ciri penting lain termasuk reset, configs, dan rujukan perkhidmatan dalam konteks tambahan.

Pilihan Keserasian Podman Docker Compose:

Kaedah Sokongan BuildKit Ciri-ciri Yang Tiada Kerumitan
CLI Docker Compose Rasmi Tidak Konteks tambahan Rendah
podman-compose Ya Reset, configs, rujukan perkhidmatan Sederhana
CLI Langsung + BuildKit Ya Tiada (dengan penyelesaian sementara) Tinggi
Quadlets (Asli) T/A Ciri-ciri khusus Docker Compose Sederhana

Kejayaan Integrasi BuildKit

Kaedah baharu membolehkan Docker Compose CLI berfungsi dengan Podman menggunakan BuildKit dengan memintas pembungkus podman-compose sepenuhnya. Ini melibatkan penciptaan konteks Docker terus yang menunjuk kepada soket Podman dan membolehkan BuildKit melalui perkhidmatan systemd. Pendekatan ini berjaya membolehkan ciri-ciri pembinaan lanjutan yang sebelum ini tidak tersedia dalam persekitaran Podman.

Walau bagaimanapun, penyelesaian ini memperkenalkan kerumitan dengan memerlukan daemon BuildKit, yang bercanggah dengan falsafah tanpa daemon Podman. Untuk menangani perkara ini, pembangun telah mencipta alat seperti Bakah yang menukar projek Docker Compose kepada penerangan pembinaan JSON, membolehkan pembinaan tanpa daemon kekal.

Arahan Persediaan untuk Integrasi BuildKit:

## Pasang pakej yang diperlukan (Arch Linux)
pacman -S docker-compose docker-buildx buildkit

## Mulakan soket Podman
systemctl --user start podman.socket

## Cipta konteks Docker untuk Podman
docker context create podman --docker host=unix://$XDG_RUNTIME_DIR/podman/podman.sock
docker context use podman

## Pilihan: Gunakan perkhidmatan sistem BuildKit
systemctl --user start buildkit.service
docker buildx create --name local unix://$XDG_RUNTIME_DIR/buildkit/rootless
docker buildx use local

Komuniti Menyokong Quadlets

Walaupun pencapaian teknikal ini, komuniti sangat mengutamakan sistem Quadlet asli Podman berbanding lapisan keserasian Docker Compose. Quadlets menyediakan integrasi systemd untuk pengurusan kontena, menawarkan pendekatan yang lebih asli kepada platform berbanding cuba meniru aliran kerja Docker.

Podman compose adalah percubaan untuk menarik pengguna Docker dengan memindahkan idea yang buruk. Sebaliknya, belajarlah cara mencipta 'quadlets' dan anda tidak akan mahu menyentuh docker lagi.

Beberapa ahli komuniti melaporkan pengalaman yang lebih baik dengan Quadlets berbanding alternatif Docker Compose. Integrasi systemd membolehkan kontena diurus seperti mana-mana perkhidmatan sistem lain, menyediakan kebolehpercayaan yang lebih baik dan penyelenggaraan yang lebih mudah untuk penggunaan pengeluaran.

Isu Keserasian Berterusan

Perbincangan mendedahkan kekecewaan berterusan dengan keserasian Docker Compose dalam Podman. Pembetulan pepijat terkini menangani isu kritikal seperti pengendalian kebergantungan yang tidak betul dalam penutupan perkhidmatan dan sokongan yang hilang untuk pembinaan berasaskan URL. Masalah-masalah ini, ada yang wujud selama bertahun-tahun sebelum diselesaikan, menyerlahkan cabaran mengekalkan keserasian antara ekosistem kontena yang berbeza.

Pengguna melaporkan bahawa walaupun Podman menawarkan sokongan kontena tanpa root yang sangat baik berbanding persediaan tanpa root Docker yang lebih manual, keluk pembelajaran dan isu keserasian boleh menjadi halangan yang ketara bagi pasukan yang beralih daripada aliran kerja Docker.

Kesimpulan

Komuniti kontena nampaknya berpecah antara penyelesaian keserasian pragmatik dan penggunaan alat asli. Walaupun penyelesaian sementara teknikal kini membolehkan ciri-ciri BuildKit lanjutan dalam Podman, trend yang lebih luas menunjukkan bahawa menerima penyelesaian asli Podman seperti Quadlets mungkin memberikan faedah jangka panjang yang lebih baik daripada mengekalkan keserasian Docker Compose. Bagi organisasi yang mempertimbangkan peralihan, pilihan antara aliran kerja Docker yang biasa dan pendekatan systemd bersepadu Podman berkemungkinan bergantung kepada keperluan penggunaan khusus mereka dan kesediaan untuk menggunakan alat baharu.

Rujukan: Using Podman, Compose and BuildKit