Ingin memperbaiki pertanyaan ini? Perbarui pertanyaan agar fokus pada satu masalah saja dengan mengedit postingan ini.
Ditutup 5 tahun yang lalu.
Perbaiki pertanyaan ini
Saat meneliti dan mempelajari lebih lanjut tentang Containers, Docker tampaknya memiliki dokumentasi yang bagus dan contoh kasus penggunaan dengan panduan langkah demi langkah. Sementara di sisi lain, LXD hanya memiliki panduan memulai yang sederhana. Sumber apa di luar sana yang memiliki dokumentasi bagus tentang LXD yang bisa saya lihat?
Jawaban yang Diterima:
LXC vs LXD
Postingan blog bagus &informatif dan bagus untuk dibaca untuk memulai, tetapi dokumentasi bagus tidak akan dibuat begitu Anda memulai. Jika Anda seperti saya, Anda mungkin cukup jelas tentang perbedaan antara Docker &LXC/LXD setelah membaca hanya beberapa posting blog yang umum ditemukan tentang ini.. Tetapi perbedaan antara proyek LXC lama dan proyek LXD baru tidak ada di semuanya jelas bagi saya, dan sebagian besar halaman yang saya temukan tidak berfungsi dengan baik dalam menjelaskannya dengan cara yang dapat saya pahami. Sebagian besar mereka mencoba untuk menghilangkan kebingungan antara wadah aplikasi (Docker) dan wadah sistem operasi (LXC/LXD). Kemudian saya menemukan posting blog ini:Di mana lxd cocok
Seperti yang mungkin Anda ketahui sekarang, semua alat ini (Docker/LXC/LXD) menggunakan fitur kernel umum seperti ruang nama dan cgroup, ini hanya pertanyaan tentang bagaimana ruang pengguna memutuskan untuk menggunakannya. Ringkasan posting di atas berfokus pada evolusi LXC vs LXD, berdasarkan pemahaman saya:
- LXC awalnya dibuat untuk menguji fitur kernel baru; karena itu adalah campuran skrip shell dan program C (masih digunakan sampai sekarang melalui alat baris perintah LXC "lama").
- Kemudian ini difaktorkan ulang menjadi perpustakaan. Alat baris perintah ruang pengguna LXC yang ada sekarang menggunakan perpustakaan ini.
- LXD adalah cara awal untuk berinteraksi dengan pustaka ini yang tidak terbebani oleh kompatibilitas mundur dengan alat baris perintah LXC lama. Jadi lebih mudah digunakan dan lebih mumpuni.
Jika ada (seperti pengelola) melihat beberapa kesalahan di atas, jangan ragu untuk memperbaiki jawaban saya.
Beberapa catatan tentang libvirt-lxc
Juga, jika Anda mempertimbangkan libvirt-lxc
(mis. jika Anda sudah menggunakan libvirt
dengan KVM):
- Red Hat tidak lagi menggunakan ini:https://access.redhat.com/articles/1365153
- Upstream mengatakan mereka masih akan mengerjakannya:https://www.redhat.com/archives/libvirt-users/2015-August/msg00026.html
- Meskipun
libvirt-lxc
memilikilxc
dalam nama, tidak benar-benar menggunakanlxc
dan sebagai gantinya langsung menggunakan fitur kernel. Jadi jangan bingunglibvirt
driver denganlxc
meskipun kebingungan penamaan. Referensi:http://libvirt.org/drvlxc.html (Perhatikan bahwa menurut saya proxmox tidak gunakanlxc
tepat, tetapi bukanlxd
yang lebih baru alat). - Stéphane Graber menyarankan agar menggunakan
libvirt
dengan wadah tidak cocok, dan sementara seseorang mungkin bisa menulislibvirt-lxd
, dia pikir itu juga tidak cocok. Singkatnya:libvirt
dirancang untuk mengelola VM dan container bukan VM, jadi semuanya menjadi berantakan dan Anda hanya mendukung fitur yang sama. Referensi:https://lists.linuxcontainers.org/pipermail/lxc-devel/2014-November/010820.html - Untuk memperkuat yang sebelumnya, tidak mudah membuat container baru dengan
libvirt-lxc
. Misalnya, Anda harus memberikan jalur ke rootf yang ADA untuk wadah baru yang ingin Anda buat, dan tidak ada dukungan dilibvirt-lxc
untuk memutar itu. Sehingga membuat Anda melakukan hal-hal seperti menggunakan alat eksternal sepertilxc-create
untuk membuat wadah baru dari template, lalu buatlibvirt-lxc
baru wadah menggunakan direktori yang ada baru saja dibuat, yang kemudian membuat saya bertanya:"mengapa repot denganlibvirt-lxc
daripada hanya menggunakanlxd
langsung?”
dokumentasi LXD
Kembali ke pertanyaan Anda, saya sudah mencoba mengumpulkan semua dokumentasi referensi di LXD yang bisa saya temukan. Ada beberapa dokumentasi yang bagus di sini:
https://github.com/lxc/lxd/tree/master/doc
Khususnya:
configuration.md
memiliki daftar referensi yang bagus tentang kemungkinan opsi konfigurasi.imagehandling.md
berbicara tentang bagaimana gambar sistem operasi di-cache secara lokal.lxd-ssl-authentication.md
membahas REST API dan bagaimana itu diekspos melalui soket UNIX lokal, dan secara opsional di HTTPS, dan bagaimana ini diamankan.storage-backends.md
membahas batasan &konfigurasi setiap backend penyimpanan.userns-idmap.md
lxd secara default menggunakan wadah unprivileged yang berarti bahwa wadah UID/GID harus dipetakan ke UID/GID host; ini membahas itu.- Banyak dokumentasi yang tersisa tidak begitu penting untuk dibaca, atau lebih ditujukan untuk developer.
Tautan di atas berasal dari cabang master lxd
upstream sehingga Anda mungkin ingin memeriksa doc
direktori untuk sumber paket yang sebenarnya telah Anda instal, sehingga Anda tidak secara tidak sengaja menggunakan beberapa fitur baru yang belum Anda instal.
Tidak banyak halaman manual, tetapi inilah yang saya temukan termasuk dalam lxd
dan lxd-client
paket:
LXC(1)
– program klien untuk berkomunikasi dengan daemon server. Saat ini (14/5/2016) agak tidak berguna dan tidak informatif. Mudah-mudahan di masa depan serangkaian halaman manual dapat dibuat untuk alat ini, sepertibtrfs
halaman manual.LXD(1)
– baris perintah daemon server.
Tentu saja, ada juga halaman panduan server:https://help.ubuntu.com/lts/serverguide/lxd.html
Terakhir, ingat bahwa lxd didasarkan pada pustaka lxc (tetapi bukan alat baris perintah lxc yang lama). Artinya konfigurasi lxc masih bisa langsung dilakukan, mis. menggunakan raw.lxc
opsi konfigurasi di lxd. Oleh karena itu beberapa referensi ke konfigurasi LXC yang mendasarinya berguna, tetapi ingat itu harus dihindari jika memungkinkan untuk menghindari konflik dengan LXD (misalnya jika Anda menyetel item konfigurasi yang sama di LXD &LXC). Anda dapat menggali halaman manual untuk menemukannya jika diperlukan:https://linuxcontainers.org/lxc/manpages/