Sebelumnya kita telah melihat instalasi hypervisor seperti Xen dan cloud middleware seperti openstack. Baru-baru ini teknologi baru yang disebut docker container telah menjadi tren terpanas dalam pengembangan aplikasi. Pada artikel ini kita akan melihat apa itu docker, perbedaannya dengan mesin virtual, instalasi docker dan penggunaannya.
Apa itu Docker ?
Docker adalah wadah yang membungkus bagian dari perangkat lunak dalam sistem file lengkap yang berisi semua yang dibutuhkan untuk menjalankan:kode, run-time, alat sistem, perpustakaan sistem - apa pun yang dapat Anda instal di server. Kontainer melakukan virtualisasi pada tingkat sistem operasi sehingga lebih efisien daripada hypervisor dalam penggunaan sumber daya sistem. Ada banyak teknologi container Linux seperti LXC, Docker dll.,
Apa perbedaan antara Docker dan Mesin Virtual?
Dengan pendekatan arsitektur yang berbeda, wadah jauh lebih portabel dan efisien, meskipun mereka memiliki isolasi sumber daya yang serupa. Gambar di bawah menunjukkan perbedaan arsitektur antara wadah dan Mesin Virtual.
Bagaimana Cara Memasang Wadah Docker di CentOS 7?
Rilis resmi terbaru dari Docker adalah v1.10. Instruksi di bawah ini adalah untuk menginstal Docker Container di server CentOS 7. Masuk ke server CentOS 7 sebagai root dan ikuti langkah-langkah di bawah ini.
Langkah 1: Sebagai praktik terbaik, mari perbarui sistem menggunakan yum seperti yang ditunjukkan di bawah ini:
# yum -y update
Langkah 2: Secara default, Docker disertakan dalam repositori CentOS-Extra. Jika Anda ingin menggunakan versi docker yang lebih baru, jalankan perintah di bawah ini untuk menambahkan ke repo.
# tee /etc/yum.repos.d/docker.repo <<-'EOF'
> [dockerrepo]
> name=Docker Repository
> baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
> enabled=1
> gpgcheck=1
> gpgkey=https://yum.dockerproject.org/gpg
> EOF
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
Langkah 3: Instal paket docker dan docker-registry. Registri Docker adalah aplikasi sisi server tanpa status dan sangat skalabel yang menyimpan dan memungkinkan Anda mendistribusikan Gambar Docker.
# yum -y install docker docker-registry
Langkah 3: Setelah instalasi buruh pelabuhan berhasil, mulai layanan buruh pelabuhan.
# systemctl start docker.service
Langkah 4: Pastikan layanan buruh pelabuhan dimulai saat boot dengan perintah di bawah ini:
# systemctl enable docker.service
Langkah 5: Verifikasi layanan buruh pelabuhan
# systemctl status docker.service
docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled) Active: active (running) since Tue 2016-03-22 16:29:00 IST; 20h ago Docs: http://docs.docker.com Main PID: 30108 (docker) CGroup: /system.slice/docker.service ââ30108 /usr/bin/docker daemon --selinux-enabled
Mar 22 17:10:12 vm1 docker[30108]: time="2016-03-22T17:10:12.541577770+05:3...1" Mar 22 17:11:05 vm1 docker[30108]: time="2016-03-22T17:11:05.429417681+05:3...0" Mar 22 17:11:05 vm1 docker[30108]: time="2016-03-22T17:11:05.429730128+05:3...s" Mar 22 17:11:05 vm1 docker[30108]: time="2016-03-22T17:11:05.429781346+05:3...04 Mar 22 17:11:13 vm1 docker[30108]: time="2016-03-22T17:11:13.020019713+05:3...0" Mar 22 17:11:23 vm1 docker[30108]: time="2016-03-22T17:11:23.021293894+05:3...e" Mar 22 17:11:28 vm1 docker[30108]: time="2016-03-22T17:11:28.600657892+05:3...n" Mar 22 17:11:35 vm1 docker[30108]: time="2016-03-22T17:11:35.938950613+05:3...0" Mar 22 17:11:45 vm1 docker[30108]: time="2016-03-22T17:11:45.939810804+05:3...e" Mar 22 17:11:57 vm1 docker[30108]: time="2016-03-22T17:11:57.720737864+05:3...n" Hint: Some lines were ellipsized, use -l to show in full.
Bagaimana cara menggunakan Docker?
Langkah 1: Unduh wadah Docker. Jalankan perintah di bawah ini untuk mendapatkan gambar CentOS resmi terbaru yang stabil:
# docker pull centos
Perintah di atas menarik rilis centos stabil terbaru. Untuk menarik gambar CentOS versi lain, misalnya CentOS 6:
# docker pull centos:centos6
Langkah 2: Untuk memverifikasi bahwa gambar telah diunduh secara lokal:
# docker images centos REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE docker.io/centos latest bb3d629a7cbc 2 weeks ago 196.6 MB
Langkah 3: Untuk membuat daftar semua gambar yang diunduh yang tersedia:
# docker images
Cara menjalankan Docker Container
Langkah 1: Jalankan wadah Centos dasar dengan bash shell. Di sini, -i opsi melampirkan stdin dan stdout , -t mengalokasikan tty .
# docker run -i -t centos /bin/bash
Itu dia! Sekarang Anda masuk ke shell bash di dalam container docker centos.
Perintah untuk bekerja dengan container Docker
1. Untuk memutuskan atau melepaskan wadah tanpa mematikan wadah:
Ctrl-p + Ctrl-q
2. Ada banyak container yang sudah tersedia di komunitas. Untuk membuat daftar container dari komunitas:
# docker search centos INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED docker.io docker.io/centos The official build of CentOS. 2042 [OK] docker.io docker.io/jdeathe/centos-ssh CentOS-6 6.7 x86_64 / CentOS-7 7.2.1511 x8... 18 [OK] docker.io docker.io/jdeathe/centos-ssh-apache-php CentOS-6 6.7 x86_64 / Apache / PHP / PHP M... 14 [OK] ... ...
# docker search ubuntu INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED docker.io docker.io/ubuntu Ubuntu is a Debian-based Linux operating s... 3464 [OK] docker.io docker.io/ubuntu-upstart Upstart is an event-based replacement for ... 60 [OK] docker.io docker.io/torusware/speedus-ubuntu Always updated official Ubuntu docker imag... 25 [OK] docker.io docker.io/rastasheep/ubuntu-sshd Dockerized SSH service, built on top of of... 23 [OK] ... ...
3. Buat daftar semua wadah
# docker ps -a
4. Cantumkan hanya container yang sedang berjalan
# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4293c8265d00 centos "/bin/bash" 22 hours ago Up 9 seconds agitated_poincare
5. Hentikan Container
Dapatkan ID container dari daftar di atas dan gunakan untuk menghentikan container masing-masing:
# docker stop 4293c8265d00
6:Mulai ulang layanan buruh pelabuhan
# systemctl restart docker.service