Tutorial Docker dalam Bahasa Indonesia

Tutorial Docker dalam Bahasa Indonesia

Pada blog post ini, Dewaweb.com – penyedia cloud hosting di Indonesia – membahas mengenai apa itu Docker, tujuan dan manfaat Docker serta hal lainnya yang berkaitan dengan tutorial Docker dalam bahasa Indonesia secara praktis.

Docker pada awal didirikannya pada tahun 2009 menggunakan nama dotCloud Inc. Namun, pada tahun 2013 dotCloud diubah menggunakan nama Docker hingga tulisan ini dibuat.

Docker adalah sebuah aplikasi yang bersifat open source yang berfungsi sebagai wadah/container untuk mengepak/memasukkan sebuah software secara lengkap beserta semua hal lainnya yang dibutuhkan oleh software tersebut dapat berfungsi. Pengaturan software beserta file/hal pendukung lainnya akan menjadi sebuah Image (istilah yang diberikan oleh docker). Kemudian sebuah instan dari Image tersebut kemudian disebut Container.

 

Jika pembaca pernah belajar tentang OOP/Java – maka analogi hubungan Container dengan Image adalah seperti Object dengan Class-nya. Sehingga jika object adalah instance-of class maka container adalah instance-of image.

Lalu mungkin ada pembaca kemudian berpikir : jika dari sebuah class bisa diturunkan menjadi beberapa object lalu apakah dari sebuah image bisa diturunkan menjadi beberapa container? Akan di jawab pada tutorial kali ini.

Dengan kata lain tujuan docker adalah supaya aplikasi yang kita buat akan menjadi portable dalam keadaan utuh.

Mengenal Docker Workflow

Dalam praktek dasarnya ada beberapa perintah Docker yang sering digunakan yaitu build, push, pull, run, commit.

Perintah-perintah tersebut akan dibahas secara singkat dan akan dilengkapi kemudian saat diperlukan.

Di bawah ini terdapat illustrasi sederhana dari docker worflow – alur kerja docker yang dasar.

docker-workflow-2

Pada tuturial kali ini tidak semua perintah di workflow akan kita praktekkan – namun akan digunakan pada seri Tutorial Docker Dalam Bahasa Indonesia lainnya.

 

Memulai Docker di CentOS.

Aplikasi docker bisa dijalankan terutama pada sistem operasi linux seperti Debian, Ubuntu, Redhat, Centos dan banyak distro linux lainnya.

Sedangkan untuk Mac OS dan Win OS untuk keperluan pemasangan docker adalah menggunakan Docker Toolbox.

Instalasi docker di CentOS 7

Pada post kali ini yang akan dibahas adalah instalasi dan penggunaan singkat Docker pada CentOS 7.

[root@server ~]# yum -y update            // melakukan update OS, tekan tombol Enter
...                                       // mengabaikan hasil perintah  
[root@server ~]# yum install docker       // mulai menginstall docler
...
[root@server ~]# systemctl start docker   // menjalankan service docker
...
[root@server ~]# docker -v                // info versi docker
Docker version 1.8.2, build bb472f0/1.8.2 // versi docker yang digunakan penulis ketika membuat posting ini

Sebelum dilanjutkan ada baiknya penulis menjelaskan sedikit mengenai potongan kode di atas.

Pada baris 1, 3, dan 5 terdapat perintah yang perlu dimasukkan dan kemudian diakhiri dengan tombol Enter

Pada baris 2, 4, dan 6 terdapat karakater tiga tanda titik yang bermaksud mengabaikan hasil yang muncul setelah perintah sebelumnya dijalankan untuk alasan kepraktisan dan kemudahan.

Karakter mulai dari // dan seterusnya tidak perlu dimasukkan – sekedar keterangan untul alasan kepraktisan dan kemudahan juga

Model pembuatan contoh perintah di atas akan digunakan seterusnya untuk posting tutorial ini dan posting lain yang bekaitan.

Membuat docker image

Jika ini baru pertama kalinya menginstall docker seharusnya belum ada file Image docker yang terbentuk.

Setelah  menginstall docker kita dapat memeriksa apakah sudah terdapat docker image(s) dengan perintah :

[root@server ~]# docker images
REPOSITORY	TAG		IMAGE ID	CREATED		VIRTUAL SIZE

Dari hasil di atas ternyata belum terdapat image docker dan memang hal ini yang kita harapkan untuk dapat memulai mencoba-coba docker dari awal.

Terdapat beberapa Image docker yang bisa kita segera gunakan. Untuk mengambil image dari lokasi docker hub memerlukan koneksi internet. Oleh karena pertimbangan itu maka pada tutorial kali akan mencoba menggunakan Image docker yang berukuran relatif kecil, sedang dan besar.

Mari kita mulai dengan busybox

[root@server ~]# docker pull busybox
...
Trying to pull repository docker.io/library/busybox ... latest: Pulling from library/busybox
...
Digest: sha256:eb3c0d4680f9213ee50ffca88839489a1f85a318a2ae09e012c426f78252a6d2
Status: Image is up to date for docker.io/busybox:latest

Setelah berhasil mari kita periksa kembali apakah busybox tersebut sudah berhasil berada dalam Image docker dengan menggunakan perintah yang sudah dibahas sebelumnya

[root@server ~]# docker images
REPOSITORY         TAG      IMAGE ID       CREATED         VIRTUAL SIZE
docker.io/busybox  latest   17583c7dd0da   3 minutes ago   1.109 MB

Dari hasil di atas terlihat bahwa Image docker tersebut berhasil kita tarik/pull dari docker repository dengan informasi lainnya seperti tag, image id, created dan virtual size.

Menjalankan Docker Container

Lalu saatnya untuk sedikit lebih memahami cara kerja docker mari kita coba jalankan perintah di bawah ini

[root@server ~]# docker ps -l
CONTAINER ID IMAGE             COMMAND CREATED       STATUS                   PORTS NAMES
[root@server ~]# TEST='var di host'
[root@server ~]# echo $TEST
var di host
[root@server ~]# docker run -it docker.io/busybox
/ # ls
bin dev etc home proc root run sys tmp usr var
/ # TEST='var di busybox Container'
/ # echo $TEST
var di busybox Container
/ # exit
[root@server ~]# echo $TEST
var di host
[root@server ~]# docker ps -l
CONTAINER ID IMAGE             COMMAND CREATED       STATUS                   PORTS NAMES
f7652ef0d7ce docker.io/busybox "sh"    4 minutes ago Exited (0) 7 seconds ago       lonely_mcclintock

Berikut ini keterangan singkat pada percobaan di atas dan dikelompokkan dengan nomer baris

1-2) Memeriksa apakah sudah ada Container docker yang terbentuk secara ringkas

3-5) Membuat variabel TEST di host dengan nilai ‘var di host’

6) Menjalankan perintah run berdasarkan Image docker.io/busybox – akan menghasilkan Container

7-8) Masuk ke lingkungan Container busybox, seperti pada linux umumnya terdapat direktori bin, dev, etc dan sebagainya.

9-14) Nilai dari variabel TEST di host (dalam hal ini centos7) ternyata berbeda dengan nilai variabel di busybox Container (sebagai guest) sekalipun menggunakan nama variabel yang sama.

12) Keluar dari Container busybox

15-17) Container busybox terbentuk dengan informasi yang terkait lainnya.

 

Masih banyak lagi tutorial docker lainnya yang Dewaweb.com siapkan pada kesempatan mendatang.

Docker di dewaweb.com ?

Saat ini docker hanya bisa dicoba pada Cloud Server / VPS dewaweb.com

Dan kabar gembiranya adalah docker nanti akan dapat dijalankan pada Cloud Hosting (paket hosting Personal dan Corporate) dewaweb.com.

Oleh karena itu daftarkan diri Anda di dewaweb melalui client.dewaweb.com/register.php

Dengan mendaftarkan diri, Anda akan mendapat berita-berita terbaru dari kami seperti promosi yang akan berlangsung, tutorial docker dalam bahasa Indonesia lainnya, tips seputar dunia hosting, dan hal menarik lainnya.

Dewaweb juga ada rekaman workshop Docker yang merupakan sekaligus ulang tahun ke-3 Docker. Silahkan klik Tutorial Docker Compose berikut ini untuk melihat rekamannya.

Silahkan dikomentari, diberi saran/masukan, pertanyaan agar tutorial ini semakin baik. Terima kasih.