Anda mungkin menemukan pembicaraan Mark Shuttleworth "Mengapa kami membutuhkan wadah yang berbeda untuk aplikasi" di Container Camp yang relevan dengan pertanyaan Anda. Dia berbicara tentang VM, container, dan Docker secara umum pada awalnya, melanjutkan ke terkunci dan bagaimana mereka masuk dalam waktu sekitar sembilan menit. Berikut ini ringkasan saya:
- Berbagai jenis wadah terlihat sama tetapi digunakan untuk tujuan yang berbeda.
- Wadah tidak benar-benar ada di tingkat kernel. Berbagai jenis ilusi dimungkinkan. Secara mandiri kita dapat membuat ilusi tentang apa yang dilihat pengguna, jaringan, disk, dan proses yang dilihat suatu wadah.
- Berbagai jenis wadah benar-benar tentang kelas ilusi yang berbeda yang dibuat.
- Terkunci adalah:
- Tidak berubah, tetapi masih bagian dari sistem dasar.
- Terintegrasi dalam hal jaringan, jadi bagikan alamat IP sistem, tidak seperti Docker, di mana setiap wadah mendapatkan alamat IP-nya sendiri.
- Dengan kata lain, Docker memberi kita sesuatu di sana . Terkunci memberi kita sesuatu di sini . Misalnya, pada desktop, snap menyediakan aplikasi tepat di atasnya.
- Sebuah snap tidak dapat mencemari seluruh sistem. Itu di kotaknya sendiri. Tetapi masih dapat melihat (hanya baca) sisa sistem, yang memungkinkannya untuk berbicara dan berintegrasi dengan sistem.
Anda bertanya tentang berbagai kasus penggunaan dibandingkan dengan Docker. Ini adalah salah satu yang dapat dikunci, tetapi Docker tidak dapat: aplikasi desktop. Pihak ketiga dapat mengirimkan aplikasi desktop menggunakan snaps, dan pengguna dapat dengan mudah menginstal dan memperbaruinya. Wadah Docker tidak dapat (dengan mudah) berinteraksi dengan pengguna secara grafis di layar, memuat dokumen dari direktori home pengguna, atau menyediakan konferensi video melalui webcam pengguna. Terkunci bisa (sekali diberi izin).
Anda mungkin bertanya bagaimana ini lebih baik daripada menggunakan AKP. Tetapi dibandingkan dengan Docker, itu seperti menanyakan bagaimana Docker lebih baik daripada menginstal dependensi pada sistem dengan tangan. Itu lebih baik, tetapi bagaimana tepatnya jawaban terbaik dalam pertanyaan yang terpisah dan tidak khusus untuk Docker.