Introduction Docker for Beginners

Arsy Opraza
UNIKOM Codelabs
Published in
3 min readJan 19, 2023

Di kesempatan kali ini kita akan membahas teknologi yang dapat membantu build dan deploy aplikasi, yang sudah banyak digunakan oleh perusahaan teknologi maupun non teknologi.

Sebelum itu, kita bahas dulu apa sih container itu?

What is a container?

Container adalah unit perangkat lunak yang dapat dieksekusi yang mana kode aplikasi, library, dan dependency-nya dikemas, sehingga dapat dijalankan di mana saja serta mudah dan cepat untuk berpindah antar environment.

source

Bedanya container dengan VM (Virtual Machine) adalah:

  1. Container membutuhkan lebih sedikit space storage dibandingkan VM, container cuma berukuran MB sedangkan VM hinga berukuran GB
  2. Container tidak mengisolasi OS sedangkan VM mengisolasi juga di bagian OS
  3. Multiple container menggunakan OS yang sama, sedangkan multiple VM menggunakan hardware yang sama

Jadi dengan container kita dapat dengan mudah mengisolasi aplikasi dan dapat menggunakan library atau dependency yang berbeda-beda di dalam satu operating system atau machine.

Di docker ada 3 jenis containers: Standard, Lightweight, Secure.

Kemudian apa itu docker?

What is a docker?

Docker adalah open source platform atau ekosistem untuk build, deploy run dan me-manage container. Docker memudahkan untuk memisahkan aplikasi dengan infrastruktur sehingga dapat mempercepat proses deliver aplikasi. Docker merupakan container manager yang populer saat ini yang digunakan di seluruh dunia. Untuk tutorial install docker dapat dilihat di https://docs.docker.com/get-docker/

Why use docker?

Docker mempermudah install dan running software tanpa memikirkan setup dan dependency jadi tidak ada lagi masalah terkait dependency library yang terjadi akibat perbedaan OS atau machine yang digunakan antar developer atau engineer yang ada di dalam tim.

Benefit utama docker adalah mempermudah untuk membungkus application beserta dependency-nya kedalam sebuah standar unit untuk software development.

Docker Architecture

source

Docker daemon
Docker daemon (dockerd) me-manage docker objects seperti images, containers, networks, dan volumes.

Docker client
Docker client (docker) merupakan cara untuk berinteraksi dengan docker seperti menggunakan perintah docker run. Perintah docker mengunakan docker API. Docker client bisa berkomunikasi dengan lebih dari satu daemon.

Docker desktop
Docker desktop sangat mudah di-install di Mac, Windows atau Linux environment. Docker desktop didalamnya sudah termasuk: Docker Daemon (dockerd), Docker client (docker), Docker Compose, Docker Content Trust, Kubernetes, and Credential Helper.

Docker registry
Docker Hub merupakan public registry yang bisa digunakan oleh siapa saja, dan secara default docker akan mendapatkan images dari Docker hub.

Ketika menggunakan perintah docker pull ataudocker run images didapatkan dari registry yang sudah dikonfigurasi begitu juga ketika menggunakan perintah docker push image akan di push ke registry.

Docker Image

Sebelum menjalankan aplikasi di docker, dibutuhkan sebuah image dari aplikasi yang ingin digunakan. Docker image selengkapnya dapat dilihat di https://hub.docker.com/ atau menggunakan perintah docker iamge pull

--

--