[Linux] Cara Install Linux Container (LXC) di Ubuntu
Linux Container (LXC, dibaca lex-cee) adalah teknologi virtualisasi yang ringan, lebih mirip dengan chroot daripada full-vritualization seperti pada Qemu, KVM, VirtualBox, atau VMware. Container mirip dengan Solaris Zones atau BSD Jails.
Pada full-virtualization, hypervisor perangkat keras divirtualisasi dan di atasnya diinstall sistem operasi. Sedangkan pada container, perangkat keras tidak divirtualisasi dan guest-os menggunakan kernel dari host-os.
Instalasi LXC
1 | sudo apt-get install lxc lxctl lxc-templates |
Mengecek konfigurasi
1 | sudo lxc-checkconfig |
Hasilnya
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | Kernel configuration not found at /proc/config.gz; searching... Kernel configuration found at /boot/config-4.4.0-38-generic --- Namespaces --- Namespaces: enabled Utsname namespace: enabled Ipc namespace: enabled Pid namespace: enabled User namespace: enabled Network namespace: enabled Multiple /dev/pts instances: enabled --- Control groups --- Cgroup: enabled Cgroup clone_children flag: enabled Cgroup device: enabled Cgroup sched: enabled Cgroup cpu account: enabled Cgroup memory controller: enabled Cgroup cpuset: enabled --- Misc --- Veth pair device: enabled Macvlan: enabled Vlan: enabled Bridges: enabled Advanced netfilter: enabled CONFIG_NF_NAT_IPV4: enabled CONFIG_NF_NAT_IPV6: enabled CONFIG_IP_NF_TARGET_MASQUERADE: enabled CONFIG_IP6_NF_TARGET_MASQUERADE: enabled CONFIG_NETFILTER_XT_TARGET_CHECKSUM: enabled FUSE (for use with lxcfs): enabled --- Checkpoint/Restore --- checkpoint restore: enabled CONFIG_FHANDLE: enabled CONFIG_EVENTFD: enabled CONFIG_EPOLL: enabled CONFIG_UNIX_DIAG: enabled CONFIG_INET_DIAG: enabled CONFIG_PACKET_DIAG: enabled CONFIG_NETLINK_DIAG: enabled File capabilities: enabled Note : Before booting a new kernel, you can check its configuration usage : CONFIG=/path/to/config /usr/bin/lxc-checkconfig |
Menampilkan template container yang tersedia
1 | sudo ls /usr/share/lxc/templates/ |
Hasilnya
1 2 3 4 5 | lxc-alpine lxc-cirros lxc-openmandriva lxc-sparclinux lxc-altlinux lxc-debian lxc-opensuse lxc-sshd lxc-archlinux lxc-download lxc-oracle lxc-ubuntu lxc-busybox lxc-fedora lxc-plamo lxc-ubuntu-cloud lxc-centos lxc-gentoo lxc-slackware |
Membuat container dari template yang tersedia.
Membutuhkan koneksi internet karena container diunduh.
1 | sudo lxc-create -n namakontainer -t template |
Contoh membuat container
1 | sudo lxc-create -n ubuntu01 -t ubuntu |
Menjalankan container
1 | sudo lxc-start -n ubuntu01 -d |
Masuk ke console/bash container
1 | sudo lxc-console -n ubuntu01 |
Membuat container CentOS
Membutuhkan paket yum
1 | sudo apt-get install yum |
Membuat container CentOS
1 | sudo lxc-create -n centos01 -t centos |
Menampilkan container yang tersedia
1 | sudo lxc-ls |
Menampilkan informasi sebuah container
1 | sudo lxc-info -n ubuntu01 |
Hasilnya
1 2 3 4 5 6 7 8 9 10 11 12 | Name: ubuntu01 State: RUNNING PID: 20906 IP: 10.0.3.231 CPU use: 1.15 seconds BlkIO use: 23.55 MiB Memory use: 36.46 MiB KMem use: 0 bytes Link: vethHPCB07 TX bytes: 1.30 KiB RX bytes: 3.84 KiB Total bytes: 5.14 KiB |
Menampilkan alamat IP container
1 | sudo lxc-ls --fancy ubuntu01 |
1 2 3 | NAME STATE IPV4 IPV6 GROUPS AUTOSTART ----------------------------------------------------- ubuntu01 RUNNING 10.0.3.20 - - NO |
Menghentikan container
1 | sudo lxc-stop -n ubuntu01 |
Menduplikasi container
1 | sudo lxc-clone ubuntu01 ubuntu02 |
Manajemen container via web
1 | wget http://lxc-webpanel.github.io/tools/install.sh -O - | sudo bash |
Akses http://ip-address:5000 (http://localhost:5000), username = admin dan password = admin.
selamat mencoba 🙂
referensi
unixmen.com
help.ubuntu.com