Techtalk Docker Pengembangan Aplikasi

Fadhila Rizki Anindita
4 min readJun 24, 2020

Hari Jumat 5 Juni 2020 kemarin, DOT Indonesia mengadakan Techtalk, membahas Docker Pengembangan Aplikasi oleh Samsul Maarif.

Teknologi berkembang sangat cepat, yang dibuktikan dengan hampir setiap bulan Bahasa pemrograman merelease versi terbarunya. Developer mengembangkan aplikasi pada server localhost, jika suatu fitur dapat digunakan dipindahkan pada server development. Sering ditemukan perbedaan versi pada Bahasa pemrograman yang digunakan oleh developer, walaupun Bahasa pemrogramannya sama. hal tersebut mengakibatkan ditemukannya bug dari hal kecil seperti tampilan aplikasi yang tidak sesuai dengan desain, atau hal besar seperti fitur aplikasi tidak berfungsi atau aplikasi tidak dapat di akses.

Kejadian tersebut dapat diatasi dengan docker, karena docker merupakan platform perangkat lunak yang dapat membuat, menguji, dan menerapkan aplikasi dengan cepat. Docker dapat berfungsi sebagai wadah atau container, yang dapat memasukkan aplikasi secara lengkap yang terdiri dari code, database, asset, dan environment.

Docker menggunakan arsitektur client dan server, dimana versi server dan client tersebut sama. Dalam hal ini, Docker client mengirimkan permintaan berupa sebuah perintah kepada Docker daemon untuk membangun, mendistribusikan, dan menjalankan container Docker.

Terlihat pada gambar, Docker daemon berjalan pada host, sehingga pengguna tidak dapat berinteraksi langsung. Untuk mengaksesnya, menggunakan Docker client yang merupakan tampilan utama untuk pengguna, sehingga pengguna dapat berkomunikasi dengan Docker daemon. Docker image didapatkan dari docker registry public maupun private.

Dengan Docker, proses akan sangat ringan dan cepat dibandingkan dengan virtual mesin yang berbasis hypervisor. Besarnya overhead, hanya sebesar layanan aplikasi yang dijalankan pada container itu sendiri. Selain itu, para developer dapat menjalankan banyak container dalam mesin host.

Contoh docker command line :

  • Docker build : build image dari dockerfile
  • Docker pull : pull image dari docker registry
  • Docker run : perintah untuk menjalankan container baru
  • Docker images : perintah untuk menampilkan images yang ada di local
  • Docker run — rm : perintah untuk membersihkan container secara otomatis
  • Docker ps : perintah untuk menampilkan container yang sedang berjalan

Istilah dalam docker :

Docker Image : template dasar untuk docker container. Image ini berisi sistem operasi maupun aplikasi yang sudah selesai. Docker image ini berfungsi untuk menjalankan container.

Docker Container : sebuah image yang bersifat read-write. Pada setiap perubahan yang disimpan pada container akan menyebabkan terbentuknya layer baru di atas image. Developer dapat melakukan instalasi aplikasi di dalamnya dan melakukan penyimpanan.

Docker Registry : tempat penyimpanan (public atau private) di mana developer dapat mengunggah dan mengunduh image. Docker registry bersifat public contohnya Docker Hub. Disini, terdapat banyak image yang sudah dibuat atau image yang lain.

Dockerfile : script yang yang berisi dari serangkaian perintah yang akan dieksekusi secara otomatis dan berurutan untuk membuat sebuah image. Sebuah file konfigurasi mirip package json.

Sandbox : fitur dalam docker yang menjamin pengerjaan pengembang, pengembang leluasa untuk berkreasi tanpa takut merusak programnya dan sysadmin tidak terganggu. Sandbox pada istilah keamanan komputer adalah mekanisme pemisahan aplikasi atau program tanpa mengganggu host (isolasi).

Tapi terdapat persyaratan versi operation system untuk menggunakan docker desktop :

  • Windows 10 64-bit: Pro, Enterprise, or Education (Build 15063 or later)
  • Mac version 10.13 or newer

Question & Answer :

  1. Apa kelebihan dan kelemahan docker ?

Kelebihan docker :

  • Environmentnya bisa sama walaupun operation systemnya beda,
  • Karena isolasi ada di container docker, lebih mudah deployment
  • Kompabilitasnya terasa lebih bagus
  • Dapat memperkecil ukuran image

Kelemahan docker :

  • Jika build image berkali — kali internet disarankan cepat dan boros kuota

2. Apa best practice docker ?

  • Menyeragamkan environment
  • Tidak perlu membuat image ulang
  • Untuk di android bisa build dan CI / CD(continous integration / continous deployment)

3. Apa itu docker in docker ?

Docker yang dijalankan dalam docker, menjalankan containernya terlebih dahulu, dapat digunakan dalam Gitlab CI / CD.

4. Apa itu docker compose ?

Docker compose untuk menjalankan container, image, membaca file .env

5. Berapa maksimal image yang bisa di run ?

Batas maksimal berapa image yang bisa di run yaitu semampu hostnya pada komputer masing — masing.

6. Apa itu kitematic ?

Kitematic adalah open source untuk menyederhanakan dan merampingkan penggunaan Docker pada Mac atau PC Windows. Kitematic dapat mendownload image.

7. Apakah docker memiliki dashboard, yang dapat dijalankan selain menggunakan cmd?

Ada, yaitu Portainer io merupakan dashboard docker yang dapat didownload untuk operation system windows, linux, dan mac, mempermudah dalam menggunakan docker, tampilan user friendly, dan dapat mengetahui container mana saja yang sedang running.

Referensi :

https://docs.docker.com/get-started/overview/

https://docs.docker.com/engine/reference/run/

https://teknojurnal.com/pengertian-dan-istilah-pada-docker/

https://www.codepolitan.com/mengenal-teknologi-docker

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Fadhila Rizki Anindita
Fadhila Rizki Anindita

No responses yet

Write a response