Episode ini mengulas sejarah LXC dari inisiasi IBM dan kernel developers tahun 2008 hingga pengelolaannya di bawah Linux Containers. Kalian juga memahami mengapa system container dibutuhkan: jauh lebih ringan dari VM, berbagi kernel, startup dalam hitungan detik, dan tanpa hypervisor.

Setelah environment kita siap di episode 0, sekarang waktunya memahami mengapa LXC ada. Setiap teknologi besar lahir karena masalah nyata, dan LXC tidak terkecuali. Di episode 1 kita menelusuri sejarahnya sejak 2008, evolusinya menjadi proyek yang kini dikelola di bawah Linux Containers (linuxcontainers.org), hingga alasan konkret mengapa system container dibutuhkan di dunia virtualisasi modern.
Pertanyaan yang akan kita jawab: apa yang salah dengan mesin virtual sehingga para pengembang kernel membuat teknologi baru? Mengapa system container berbeda dari Docker? Dan mengapa LXC masih relevan padahal "container" kini identik dengan Docker? Jawaban-jawaban ini menentukan kapan kalian harus memilih LXC di production.
LXC dikembangkan sejak 2008, diprakarsai oleh IBM bersama para kernel developers. Fondasinya bukan kode baru yang ajaib, melainkan dua mekanisme kernel yang dirawat langsung di dalam Linux: namespaces (isolasi sumber daya: PID, mount, network, UTS, IPC, user) dan cgroups (pembatasan resource). LXC adalah yang pertama merangkai keduanya menjadi antarmuka yang bisa dipakai untuk menjalankan distribusi Linux utuh sebagai container.
Filosofinya sederhana: mengapa mem-virtualisasi hardware jika kernel sudah bisa berbagi dirinya sendiri secara aman? Ini yang membedakan OS-level virtualization dari full virtualization — tidak ada emulasi, tidak ada hypervisor, hanya satu kernel yang mengisolasi beberapa ruang pengguna.
Setelah bertahun-tahun dikelola oleh komunitas dan vendor, proyek ini kini berada di bawah Linux Containers (linuxcontainers.org), organisasi yang juga menaungi LXD, Incus, dan lxcfs. LXC sendiri adalah low-level runtime yang ditulis dalam C, dengan antarmuka utama berupa library liblxc dan tooling CLI. Ini adalah lapisan yang menjadi fondasi bagi semua alat di atasnya.
LXC memakai siklus rilis LTS dua tahunan dengan semver ketat. Hingga saat tulisan ini dibuat:
Kalau kalian membaca seri ini di tahun 2026, angka "7.0 LTS" yang kita pakai sepanjang episode adalah rilis terbaru yang stabil.
Perbedaan paling mendasar: LXC adalah system container. Ia menjalankan distribusi Linux utuh — dengan init sendiri (sysvinit atau systemd), user space sendiri, dan service sendiri — seolah-olah itu adalah sebuah VM, tetapi tanpa hypervisor. Setiap container punya init PID 1, bisa menjalankan SSH, cron, atau server web, dan di-boot seperti boot mesin biasa.
Karena berbagi kernel dengan host, LXC tidak perlu emulasi hardware, tidak perlu BIOS/UEFI guest, dan tidak ada overhead hypervisor. Hasilnya:
Bayangkan ini seperti apartemen: VM membangun gedung baru lengkap dengan fondasi sendiri (kernel), sedangkan LXC membagi satu gedung (kernel) menjadi unit-unit (container) yang terisolasi namun hemat lahan.
Tidak ada QEMU/KVM yang perlu dijaga. Container berjalan langsung sebagai proses host yang diisolasi namespaces. Ini menyederhanakan operasional, mengurangi permukaan serangan hypervisor, dan membuat overhead hampir nol untuk CPU dan I/O.
Sejarah menarik: Docker pernah memakai LXC sebagai driver runtime pada versi awal, hingga Docker 0.9 mengganti dengan library libcontainer miliknya sendiri dan Docker 1.8 menyelesaikan transisinya. Jadi LXC adalah "container" yang sesungguhnya sebelum kata itu dibajak untuk menyebut application container. Docker kemudian menjadi application container — fokus pada satu proses/aplikasi — sementara LXC tetap sebagai system container — fokus pada distro dan init.
Note
Jangan rancu: LXC dan Docker sama-sama memakai kernel primitives, tetapi modelnya berbeda. LXC menjalankan distro penuh dengan init sendiri; Docker menjalankan aplikasi tunggal tanpa init penuh. Keduanya saling melengkapi — bahkan kalian bisa menjalankan Docker di dalam LXC (kita bahas di episode 12 dan 13).
Untuk memposisikan LXC, ingatlah spektrumnya:
LXC mengisi titik tengah yang unik: inisialisasi utuh seperti VM, namun efisiensi seperti container. Di episode 22 kita akan membandingkannya secara menyeluruh dengan KVM, Docker, LXD, dan Proxmox CT.
Inti yang harus dibawa pulang:
liblxc).Di episode 2 selanjutnya kita akan membedah konsep dasar dan arsitektur utama LXC — bagaimana namespaces (PID, mount, network, UTS, IPC, user) dan cgroups (cgroup2) bekerja, serta peran liblxc, tooling CLI, dan struktur direktori konfigurasi. Inilah anatomi yang akan menjelaskan setiap baris config yang kita pakai di episode-episode berikutnya.