Wadah Linux (LXC), adalah perangkat lunak virtualisasi tingkat sistem operasi open source, ringan yang membantu kita menjalankan beberapa sistem Linux (wadah) yang terisolasi pada satu host Linux. LXC menyediakan lingkungan Linux sedekat instalasi Linux standar tetapi tanpa memerlukan kernel terpisah. LXC bukan pengganti perangkat lunak virtualisasi standar seperti VMware, VirtualBox, dan KVM, tetapi cukup baik untuk menyediakan lingkungan terisolasi yang memiliki CPU, memori, blok I/O, jaringan sendiri.
LXC dirilis di bawah lisensi GNU LGPLv2.1+. Proyek LXC disponsori oleh Canonical Ltd, yang berada di balik OS Ubuntu.
Dalam panduan ini, saya akan menunjukkan cara menginstal LXC di Ubuntu 16.04, dan membuat dan mengelola LXC menggunakan baris perintah serta menggunakan Portal Web LXC .
Tutorial ini juga harus bekerja pada versi Ubuntu sebelumnya, seperti Ubuntu 14.04 / 14.10 / 15.04 / 15.10
Prasyarat:
Kontainer LXC menggunakan jaringan jembatan untuk memiliki akses ke/dari jaringan eksternal, sebelum memulai penampung kita harus membuat jembatan jaringan di Ubuntu.
Ikuti langkah-langkah untuk mengonfigurasi bridging di Ubuntu; Saya membuat antarmuka yang dijembatani “br0 ” menggunakan kartu ethernet “ens33 ”
File$ sudo nano /etc/network/interfaces# interfaces(5) digunakan oleh ifup(8) dan ifdown(8)auto loiface lo inet loopback##Bridge Name ### auto br0### Informasi Jembatan iface br0 inet staticbridge_ports ens33bridge_stp offbridge_fd 9### Bridge IP ### alamat 192.168.12.15netmask 255.255.255.0network 192.168.12.0broadcast 192.168.12.255gateway 192.168.12.2dns-nameserver 8.8.8.8
Instal LXC di Ubuntu 16.04:
Sekarang, saatnya untuk menginstal LXC. Instal LXC dan paket lainnya agar container berfungsi dengan baik.
$ sudo apt-get install lxc lxc-templates wget bridge-utils
Keluarkan perintah berikut untuk memeriksa semuanya baik-baik saja untuk menjalankan container.
$ konfigurasi sudo lxc-checkconfigKernel tidak ditemukan di /proc/config.gz; mencari...Konfigurasi kernel ditemukan di /boot/config-4.4.0-15-generic--- Namespaces ---Namespaces:enabledUtsname namespace:enabledIpc namespace:enabledPid namespace:enabledUser namespace:enabledNetwork namespace:enabledBeberapa /dev/pts instance :diaktifkan--- Grup kontrol ---Cgroup:diaktifkanCgroup clone_children bendera:diaktifkanCgrup perangkat:diaktifkanCgrup sched:diaktifkanCgrup akun cpu:diaktifkanCpengontrol memori grup:diaktifkanCgrup cpuset:diaktifkan--- Lain-lain ---Perangkat pasangan hewan:diaktifkanMacvlan:diaktifkanVlan:diaktifkanBridges :enabledAdvanced Netfilter:enabledCONFIG_NF_NAT_IPV4:enabledCONFIG_NF_NAT_IPV6:enabledCONFIG_IP_NF_TARGET_MASQUERADE:enabledCONFIG_IP6_NF_TARGET_MASQUERADE:enabledCONFIG_NETFILTER_XT_TARGET_CHECKSUM:enabledFUSE (untuk digunakan dengan lxcfs):diaktifkan --- Checkpoint / Restore --- pos pemeriksaan mengembalikan:enabledCONFIG_FHANDLE:enabledCONFIG_EVENTFD:enabledCONFIG_EPOLL:enabledCONFIG_UNIX_DIAG:enabledCONFIG_INET_DIAG:enabledCONFIG_PACKET_DIAG:enabledCONFIG_NETLINK_DIAG:en kemampuanabledFile:enabledCatatan :Sebelum mem-boot kernel baru, Anda dapat memeriksa konfigurasi penggunaan:CONFIG=/path/to/config /usr/bin/lxc-checkconfig
Mengonfigurasi Jaringan LXC:
Nonaktifkan jembatan default “lxcbr0 “, dibuat sebagai bagian dari penginstalan LXC.
$ sudo nano /etc/default/lxc-net
Setel “USE_LXC_BRIDGE ” menjadi “salah “.
USE_LXC_BRIDGE="false"
Konfigurasikan LXC untuk menggunakan jembatan “br0 “, yang kita buat tadi. Jika Anda sudah memiliki jembatan lain yang dikonfigurasi, Anda dapat mengaturnya di file di bawah ini.
$ sudo nano /etc/lxc/default.conf
lxc.network.type =vethlxc.network.link =br0 # Ganti dengan nama bridge Anda lxc.network.flags =uplxc.network.hwaddr =00:16:3e:xx:xx:xxReboot server untuk mengaktifkan Network Bridge
Membuat Wadah Linux Pertama:
LXC menyediakan template siap pakai untuk kemudahan instalasi container Linux. Template biasanya ditemukan di /usr/share/lxc/templates .
$ sudo ls /usr/share/lxc/templates/lxc-alpine lxc-archlinux lxc-centos lxc-debian lxc-fedora lxc-openmandriva lxc-oracle lxc-slackware -busybox lxc-cirros lxc-download lxc-gentoo lxc-opensuse lxc-plamo lxc-sparclinux lxc-ubuntu
Mari kita buat container Ubuntu pertama kita, jalankan perintah berikut di terminal
$ sudo lxc-create -n ubuntu_lxc -t ubuntu
Dimana,
-n
-t
LXC akan mulai membuat wadah “ubuntu_lxc “, Anda akan mendapatkan output seperti di bawah ini.
Contoh keluaran:
Memeriksa unduhan cache di /var/cache/lxc/xenial/rootfs-amd64 ...Menginstal paket dalam template:ssh,vim,language-pack-enMengunduh ubuntu xenial minimal ...I:Mengambil InReleaseI:Memeriksa Tanda tangan rilisI :Tanda tangan Rilis yang Valid (id kunci 790BC7277767219C42C86F933B4FE6ACC0B21F32)I:Mengambil PaketI:Memvalidasi PaketI:Mengambil PaketI:Memvalidasi PaketI:Menyelesaikan dependensi paket yang diperlukan...I:Menyelesaikan dependensi paket dasar... . . . Unduh completeCopy /var/cache/lxc/xenial/rootfs-amd64 ke /var/lib/lxc/ubuntu_lxc/rootfs ...Menyalin rootfs ke /var/lib/lxc/ubuntu_lxc/rootfs ...Membuat lokal (ini mungkin memerlukan waktu beberapa saat)... en_IN.UTF-8... doneGeneration complete.Membuat kunci RSA SSH2; Ini mungkin memakan waktu ... 2048 SHA256:2GY+KOAVDYEFBKZSJUEMTV5PXUMNVPILTXCAZRYSPJA ROOT@raj-virtual-machine (RSA) Membuat kunci SSH2 DSA; Ini mungkin memakan waktu ... 1024 SHA256:+PXVAKGV7KUDS2Inf7AKBYHME58OIOPJFTNFWJ1FPK0 root@raj-virtual-machine (DSA) Membuat kunci SSH2 ECDSA; Ini mungkin memakan waktu ... 256 SHA256:VH1U7WGEMPMEZTWVIDZT34FTSQ+OUKBPJZAZJP1KHC root@raj-virtual-machine (ECDSA) Membuat Kunci SSH2 ED25519; Ini mungkin memakan waktu ... 256 SHA256:QZVWVYNMJUSDZHQ5IJ/R8USWBKRSHUG2VWCEVMJGFZK ROOT@raj-virtual-Machine (ED25519) Invoke-rc.d:policy-rc.d ditolak eksekusi start. Waktu lokal sekarang: Kam Apr 7 17:53:19 UTC 2016.Waktu Universal sekarang: Kam Apr 7 17:53:19 UTC 2016.### Pengguna default adalah 'ubuntu' dengan sandi 'ubuntu' !# Gunakan perintah 'sudo' untuk menjalankan tugas sebagai root di wadah.##
Harap catat detail login, Anda akan memerlukan informasi ini untuk login ke container.
Jika Anda ingin membuat container berbasis Ubuntu 14.04, gunakan perintah berikut.
$ sudo lxc-create -t ubuntu -n trusty_lxc -- -r trusty -a amd64
-r
-a
Memulai Wadah Linux:
Setelah membuat container, mulailah menggunakan perintah berikut, -d untuk menjalankan container di latar belakang.
$ sudo lxc-start -n ubuntu_lxc -d
Sekarang, ambil konsol wadah menggunakan perintah berikut.
$ sudo lxc-console -n ubuntu_lxc
Masukkan nama pengguna (ubuntu) dan kata sandi (ubuntu) untuk masuk. Anda dapat menemukan kredensial default di akhir keluaran selama pembuatan wadah.
Contoh keluaran:
Tersambung ke tty 1Ketikuntuk keluar dari konsol, untuk masuk Ctrl+a sendiriUbuntu Xenial Xerus (cabang pengembangan) ubuntu_lxc pts/0ubuntu_lxc login:ubuntu Sandi: Selamat datang di Ubuntu Xenial Xerus (cabang pengembangan) (GNU/Linux 4.4.0-15-generic x86_64) * Dokumentasi: https://help.ubuntu.com/Program yang disertakan dengan sistem Ubuntu adalah perangkat lunak bebas; ketentuan distribusi yang tepat untuk setiap program dijelaskan dalam masing-masing file di /usr/share/doc/*/copyright.Ubuntu datang dengan BENAR-BENAR TANPA GARANSI, sejauh diizinkan oleh hukum yang berlaku.Untuk menjalankan perintah sebagai administrator (pengguna "root"), gunakan "sudo ".Lihat "man Sudo_root" untuk detailnya.ubuntu@ubuntu_lxc:~$
Anda dapat melakukan semua pekerjaan Anda dalam wadah ini seperti yang Anda lakukan di server Linux.
Untuk keluar dari konsol penampung, tekan “Ctrl+a” diikuti dengan “q” . Sekarang, Anda akan dikembalikan ke terminal komputer host.
Jika Anda ingin menyambungkan kembali ke konsol container ( container masih berjalan), jalankan perintah berikut.
$ sudo lxc-console -n ubuntu_lxc
Bekerja dengan Linux Containers:
Untuk membuat daftar container yang tersedia di mesin host, gunakan perintah berikut.
$ sudo lxc-lsubuntu_lxc
Gunakan perintah berikut untuk membuat daftar container yang sedang berjalan di komputer host.
$ sudo lxc-ls --activeubuntu_lxc
Anda dapat melihat keluaran yang sama untuk kedua perintah karena saya hanya memiliki satu wadah yang sedang berjalan.
Anda dapat menggunakan perintah berikut untuk membuat daftar container dengan informasi mendetail.
$ sudo lxc-ls -fNAME NEGARA AUTOSTART GRUP IPV4 IPV6ubuntu_lxc MENJALANKAN 0 - 192.168.12.18 -
Untuk mendapatkan detail container yang sedang berjalan, jalankan perintah berikut.
$ sudo lxc-info -n ubuntu_lxcName: ubuntu_lxcState: RUNNINGPID: 2933IP: 192.168.12.18 Penggunaan CPU: 0,90 detikPenggunaan BlkIO: 20,96 Penggunaan MiBMemory: 31,67 Penggunaan MiBKMem: 0 byteLink: vethFLQOYF TX byte: 3,21 KiB RX 6,6241 KiB byte: >Anda dapat menggunakan alamat IP untuk terhubung ke penampung.
Anda dapat berhenti menjalankan container menggunakan perintah “lxc-stop”, gunakan perintah berikut untuk menghentikan “ubuntu_lxc”.
$ sudo lxc-stop -n ubuntu_lxcMengkloning wadah:
LXC menawarkan fitur mengkloning wadah dari wadah yang ada, jalankan perintah berikut untuk mengkloning wadah "ubuntu_lxc" yang ada ke wadah baru "ubuntu_lxc_clone".
Catatan:Anda harus menghentikan penampung sebelum memulai klon.
$ sudo lxc-copy -n ubuntu_lxc -N ubuntu_lxc_clonePeriksa apakah penampung berhasil dibuat.
$ sudo lxc-lsubuntu_lxc ubuntu_lxc_cloneAnda dapat memulai kloning container dan mulai mengerjakannya.
$ sudo lxc-start -n ubuntu_lxc_clone$ sudo lxc-console -n ubuntu_lxc_cloneTerhubung ke tty 1Ketikuntuk keluar dari konsol, untuk masuk Ctrl+a sendiriUbuntu Xenial Xerus (cabang pengembangan) ubuntu_lxc_clone pts/0ubuntu_lxc_clone login ubuntuPassword:Login terakhir:Sab Apr 9 16:15:22 UTC 2016 dari 192.168.12.1 di pts/4Selamat datang di Ubuntu Xenial Xerus (cabang pengembangan) (GNU/Linux 4.4.0-15-generic x86_64) * Dokumentasi: https:/ /help.ubuntu.com/Untuk menjalankan perintah sebagai administrator (pengguna "root"), gunakan "sudo ". Lihat "man sudo_root" untuk detailnya.ubuntu@ubuntu_lxc_clone:~$ Matikan wadah dari konsol LXC.
ubuntu@ubuntu_lxc_clone:~$ sudo matikanMengambil Cuplikan:
LXC juga menawarkan fitur lain yang disebut snapshot, ikuti langkah-langkah di bawah ini untuk melakukan snapshot.
Catatan:Sebelum mengambil cuplikan, pastikan penampung tidak berjalan. Hentikan container yang sedang berjalan menggunakan perintah berikut.
$ sudo lxc-stop -n ubuntu_lxc_cloneUntuk demo, mari kita ambil snapshot dari ubuntu_lxc_clone.
$ sudo lxc-snapshot -n ubuntu_lxc_cloneContoh keluaran:
lxc-snapshot:lxccontainer.c:do_lxcapi_snapshot:3371 Snapshot dari container yang didukung direktori yang diminta.lxc-snapshot:lxccontainer.c:do_lxcapi_snapshot:3372 Membuat salinan-klon. Jika Anda ingin snapshot, makalxc-snapshot:lxccontainer.c:do_lxcapi_snapshot:3373 silakan buat klon aufs atau overlayfs terlebih dahulu, snapshot thatlxc-snapshot:lxccontainer.c:do_lxcapi_snapshot:3374 dan simpan wadah aslinya.Untuk mengetahui di mana snapshot disimpan, jalankan perintah berikut.
$ sudo lxc-snapshot -L -n ubuntu_lxc_clonesnap0 (/var/lib/lxc/ubuntu_lxc_clone/snaps) 2016:04:09 22:35:16Di Ubuntu, snapshot LXC disimpan di “/var/lib/lxc/
/snaps ”Memulihkan Cuplikan:
Untuk mengembalikan container dari snapshot yang kita ambil sebelumnya, gunakan perintah berikut.
$ sudo lxc-snapshot -r snap0 -n ubuntu_lxc_cloneMenghancurkan Kontainer:
Untuk menghapus wadah, gunakan perintah berikut.
Catatan:Anda harus menghapus snapshot sebelum menghancurkan penampung. ($ sudo lxc-snapshot -d snap0 -n ubuntu_lxc_clone)
$ sudo lxc-destroy -n ubuntu_lxc_cloneMenjalankan Wadah CentOS di Ubuntu 16.04:
Instal paket “yum” untuk container berbasis Redhat.
$ sudo apt-get install yumBuat wadah CentOS 7 menggunakan perintah berikut.
$ sudo lxc-create -n centos_lxc -t centos -- -R 7 -a x86_64Host CPE ID dari /etc/os-release:Memeriksa unduhan cache di /var/cache/lxc/centos/x86_64/7/rootfs ... mengunduh centos minimal ... basis | 3,6 kB 00:00base/primary_db 5.3 MB 12:26updates | 3.4 kB 00:00updates/primary_db 3.9 MB 02:17Menyiapkan Proses InstalMengatasi Dependensi--> Menjalankan pemeriksaan transaksi---> Paket chkconfig.x86_64 0:1.3.61-5.el7 akan diinstal Selesai!Memperbaiki lokasi rpmdb ...Download selesai.Copy /var/ cache/lxc/centos/x86_64/7/rootfs ke /var/lib/lxc/centos_lxc/rootfs ...Menyalin rootfs ke /var/lib/lxc/centos_lxc/rootfs ...sed:can't read /var/ lib/lxc/centos_lxc/rootfs/etc/init/tty.conf:Tidak ada file atau direktori seperti itu Menyimpan kata sandi root di '/var/lib/lxc/centos_lxc/tmp_root_pass'Kata sandi kedaluwarsa untuk root pengguna.passwd:Berhasil:tidak dapat membaca /var/lib/lxc/centos_lxc/rootfs/etc/rc.sysinit:Tidak ada file atau direktori seperti itu:tidak dapat membaca /var/lib/lxc/centos_lxc/rootfs/etc/rc.d/rc.sysinit:Tidak seperti itu file atau directoryContainer rootf dan konfigurasi telah dibuat.Edit file konfigurasi untuk memeriksa/mengaktifkan pengaturan jaringan.Kata sandi root sementara disimpan di: '/var/lib/lxc/centos_lxc/tmp_root_pass' Kata sandi root diatur sebagai kedaluwarsa dan harus diubah saat login pertama, yang harus Anda lakukan sesegera mungkin. Jika Anda kehilangan kata sandi root atau ingin mengubahnya tanpa memulai penampung, Anda dapat mengubahnya dari host dengan menjalankan perintah berikut (yang juga akan menyetel ulang tanda kedaluwarsa): chroot /var/lib/lxc/centos_lxc/rootfs passwdAnda bisa mendapatkan kredensial default di akhir output.
Mulai dan ambil konsol wadah Ubuntu dengan perintah berikut. Anda harus mengubah kata sandi root saat login pertama.
$ sudo lxc-start -n centos_lxc -d$ sudo lxc-console -n centos_lxcTerhubung ke tty 1Ketikuntuk keluar dari konsol, untuk masuk Ctrl+a sendiriCentOS Linux 7 (Core)Kernel 4.4.0-15-generic pada x86_64login centos_lxc:root Sandi: Anda diminta untuk segera mengubah sandi Anda (root diberlakukan) Mengubah sandi untuk root. (saat ini) kata sandi UNIX: Sandi baru: Ketik ulang sandi baru: [root@centos_lxc ~]# Itu saja! Terima kasih sudah membaca. Jadilah sosial, bagikan ini dengan teman-teman Anda.
Kelola LXC Container dengan LXC Web Panel – Antarmuka Berbasis Web Cara Memasang Google Chrome di Ubuntu 18.04 &Ubuntu 16.04Ubuntu