Cara Menggunakan Docker

Cara Menggunakan Docker
Pada tulisan saya sebelumnya kita sudah membahas tentang Cara Menginstal Docker di Linux pada distribusi Manjaro, untuk penginstalan Docker pada OS lain akan kita bahas di lain waktu. Pada tulisan ini saya akan melanjutkan tulisan tersebut mengenai penggunaan Docker. Kita ulas sebentar tentang apa itu Docker.

Docker adalah teknologi containerisasi yang memungkinkan kita untuk membangun, menguji, dan menggunakan aplikasi dengan cepat yang dapat berjalan dimana saja dan terisolasi dalam sebuah wadah yang disebut sebagai container. Docker pada dasarnya merupakan perangkat virtual untuk menjalankan sebuah image. Konsep Docker ini mirip dengan virtual machine, hanya saja Docker memiliki beberapa keunggulan yang tidak dimiliki virtual machine. Pada saat ini, Docker dapat berjalan pada sistem operasi Linux, Mac OS dan Windows.

Arsitektur pada Docker menggunakan client dan server, yang mana docker client mengirimkan request ke docker daemon untuk untuk membangun, mendistribusikan dan menjalankan container docker. Keduanya (docker client dan docker daemon) dapat berjalan pada sistem yang sama. Antara docker client dan docker daemon berkomunikasi via socket menggunakan RESTful API.
Arsitektur Docker
Arsitetur Docker: https://docs.docker.com/get-started/overview/

Pembahasan yang terdapat tulisan kali ini berisi tentang:


Istilah-istilah pada Docker
Berikut adalah istilah-istilah yang ada pada Docker.

Images
Di dalam Docker, Image merupakan dasar template untuk membuat sebuah docker container. Sebuah image biasanya berisi OS maupun aplikasi yang telah diinstall dan telah jadi (ter-compile). Image ini digunakan untuk menjalankan container. Di Docker Hub, terdapat banyak image yang dapat kita pilih dan kita gunakan sebagai base image.

Container
Container merupakan sebuah image yang telah dikemas dan dapat dijalankan. Kita dapat membuat, memulai, menghentikan, memindahkan ataupun menghapus container menggunakan Docker API atau CLI. Kita juga dapat mengkoneksikan container ke satu jaringan atau bahkan lebih.
Secara default, sebuah container akan terisolasi dari container lainnya dan mesin host.

Docker Registry
Docker Registry adalah repositori distribusi dari kumpulan docker image yang terpusat, baik bersifat public ataupun private. Docker Registry yang bersifat public disebut dengan Docker Hub. Disini kita dapat berbagi image yang telah kita buat ataupun menggunakan image yang sudah ada yang dibuat oleh orang lain.

Dockerfile
Dockerfile merupakan sebuah file yang mana pada file tersebut berisikan berbagai macam instruksi yang akan dieksekusi untuk membangun sebuah image.


Perintah-perintah pada Docker
Docker memiliki berbagai macam perintah dalam penggunaannya, berikut penjelasan fungsi dan perintah yang digunakan pada Docker.

Download Docker Image
Untuk mendownload sebuah image dari Docker Hub, gunakan perintah berikut:
docker pull [image name]
Contoh:
docker pull hello-world
Hasilnya akan seperti ini:
Using default tag: latest
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete                                                                                             Digest: sha256:6a65f928fb91fcfbc963f7aa6d57c8eeb426ad9a20c7ee045538ef34847f44f1
Status: Downloaded newer image for hello-world:latest
docker.io/library/hello-world:latest
Perlu diketahui bahwasannya kecepatan download dari image yang kita ambil tergantung koneksi internet yang kita pakai.

Melihat Daftar Image
Perintah ini berfungsi untuk melihat image yang pernah kita download ataupun kita buat.
# v1
docker images

# v2
docker image ls

# Contoh Output
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
mysql                   8.0.20              a7a67c95e831        4 weeks ago         541MB
jenkins/jenkins         lts-alpine          58047ae198b8        4 weeks ago         228MB
mariadb                 latest              b6184b68d1fd        4 weeks ago         357MB
phpmyadmin/phpmyadmin   latest              f257b784d16f        5 weeks ago         468MB
php                     7.3-fpm-alpine      9a43543afbeb        5 weeks ago         74.6MB

Menghapus Image
docker rmi [image ID]

Membuat Container Baru
Perlu diingat, untuk membuat sebuah container dibutuhkan sebuah image. Jadi sebelum membuat container pastikan image sudah tersedia. Untuk membuat container baru gunakan perintah berikut:
docker run [image name] [command to run]
Pada command to run kita bisa menambahkan `-d` agar container berjalan di background.

Melihat Container yang Berjalan
Perintah ini digunakan untuk melihat daftar dari container yang sedang digunakan.
docker ps

Melihat Semua Container yang Ada
Pada perintah ini digunakan untuk melihat semua container yang ada, baik yang sedang digunakan ataupun tidak.
# v1
docker ps --all

# v2
docker ps -a

# Contoh Output
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS                     PORTS                                              NAMES
eaf30c3e8c05        hello-world                  "/hello"                 5 minutes ago       Exited (0) 5 minutes ago                                                      frosty_newton
fe30a0e38d8f        hello-world                  "/hello"                 6 minutes ago       Exited (0) 6 minutes ago                                                      pedantic_bhaskara
d0cfe3e795e7        hello-world                  "/hello"                 7 minutes ago       Exited (0) 7 minutes ago                                                      unruffled_neumann
9fcfcdd4c6f1        phpmyadmin/phpmyadmin        "/docker-entrypoint.…"   3 weeks ago         Exited (0) 2 weeks ago                                                        phpmyadmin
bb240e070dc4        mariadb                      "docker-entrypoint.s…"   3 weeks ago         Exited (0) 2 weeks ago                                                        mariadb
b88e431c0211        jenkins/jenkins:lts-alpine   "/sbin/tini -- /usr/…"   3 weeks ago         Exited (255) 3 weeks ago   0.0.0.0:8080->8080/tcp, 0.0.0.0:50000->50000/tcp   jenkins

Menjalankan Container
Perintah ini digunakan untuk memulai atau menjalankan container yang sudah ada.
docker start [container ID]

Menghentikan / Stop Container
docker stop [container ID]

Menghapus Container
Perintah berikut digunakan untuk menghapus container yang sudah kita buat.
docker rm [container ID]


Demikian sedikit dasar cara penggunaan Docker. Untuk mempelajari lebih lanjut mengenai Docker, kalian bisa melihat dokumentasi resmi dari Docker. Terima kasih.

Keywords:

Referensi:
- https://docs.docker.com/get-started/overview/
- https://andykamt.com/belajar-docker-mengenal-docker-dan-install-docker/
Next Post Previous Post
No Comment
Add Comment
comment url