Slide 1

Slide 1 text

Mengenal Container dan Docker With Theis Andatu

Slide 2

Slide 2 text

Theis Andatu Software Developer https://antheiz.my.id

Slide 3

Slide 3 text

Agenda ✅ Mengenal Container ✅ Mengenal Docker ✅ Docker Architecture ✅ Docker untuk Pengembangan ✅ Dockerfile ✅ Docker Compose ✅ Docker Workflow ✅ Deployment dengan Docker

Slide 4

Slide 4 text

Mengenal Container

Slide 5

Slide 5 text

Mengenal Container ● Container adalah sebuah wadah (container) untuk menjalankan aplikasi secara terisolasi di atas sistem operasi host. ● Container memungkinkan aplikasi untuk berjalan di atas sistem operasi yang sama, tanpa perlu melakukan penginstalan sistem operasi yang terpisah pada setiap wadah. ● Penggunaan container adalah ketika kita ingin menjalankan aplikasi pada lingkungan yang terisolasi, misalnya ketika ingin menjalankan beberapa versi aplikasi yang berbeda pada komputer yang sama. Apa itu Container?

Slide 6

Slide 6 text

Mengenal Container ● Virtual Machine (VM) bisa diibaratkan sebagai sebuah komputer virtual yang berjalan di dalam komputer fisik. ● Dalam lingkungan VM, pengguna dapat menginstal sistem operasi, mengatur pengaturan jaringan, dan menjalankan aplikasi sesuai kebutuhan. Apa itu Virtual Machine?

Slide 7

Slide 7 text

Mengenal Container VM vs Container source: www.weave.works

Slide 8

Slide 8 text

Mengenal Container

Slide 9

Slide 9 text

Mengenal Docker

Slide 10

Slide 10 text

Mengenal Docker ● Docker adalah platform container manager yang memungkinkan developer untuk membuat, mengelola, dan menjalankan container aplikasi dengan mudah. ● Docker dapat digunakan untuk mengisolasi dan menjalankan aplikasi pada lingkungan yang terpisah, sehingga memungkinkan aplikasi berjalan dengan konsisten pada berbagai lingkungan, dari komputer pengembang hingga server produksi. Apa itu Docker?

Slide 11

Slide 11 text

Mengenal Docker Docker Architecture source: docs.docker.com

Slide 12

Slide 12 text

Why use Docker ? Alasan sederhana: Docker bisa membantu produktivitas kita dalam bekerja. - Portabilitas Docker memungkinkan container aplikasi berjalan pada berbagai platform dan lingkungan yang berbeda, seperti pada komputer pengembang, server uji coba, atau server produksi. - Skalabilitas Docker memungkinkan pengguna untuk mengelola sumber daya pada level container, sehingga memudahkan dalam menambah atau mengurangi sumber daya yang dibutuhkan oleh aplikasi. - Isolasi dan keamanan Docker memungkinkan pengguna untuk menjalankan aplikasi pada lingkungan yang terisolasi dan tidak terpengaruh oleh lingkungan host, sehingga meminimalkan risiko kerentanan keamanan atau interaksi yang tidak diinginkan dengan aplikasi lain pada lingkungan yang sama. - Efisiensi Docker memungkinkan pengguna untuk menghemat penggunaan sumber daya hardware, seperti ruang penyimpanan, memori, dan CPU. - Mudah digunakan Kenapa menggunakan Docker?

Slide 13

Slide 13 text

Why use Docker ?

Slide 14

Slide 14 text

Docker untuk Pengembangan

Slide 15

Slide 15 text

Install Docker Dokumentasi: https://docs.docker.com/engine/install/ Menginstall Docker

Slide 16

Slide 16 text

Perintah Docker Resources for all command: https://docs.docker.com/engine/reference/commandline/docker Cheatsheet: https://quickref.me/docker Perintah Docker

Slide 17

Slide 17 text

Docker Desktop Docker Desktop

Slide 18

Slide 18 text

Dockerfile

Slide 19

Slide 19 text

Dockerfile ● Dockerfile adalah file text yang berisi semua perintah yang bisa kita gunakan untuk membuat sebuah Docker Image ● Anggap saja semua instruksi untuk, menjalankan aplikasi kita, kita simpan di dalam Dockerfile, nanti Dockerfile tersebut akan dieksekusi sebagai perintah untuk membuat Docker Image Pengenalan Dockerfile

Slide 20

Slide 20 text

Docker Compose

Slide 21

Slide 21 text

Docker Compose ● Docker Compose adalah tool yang digunakan untuk mendefinisikan dan menjalankan multiple Docker Container secara sekaligus ● Dengan menggunakan Docker Compose, kita bisa menggunakan file YAML untuk melakukan konfigurasi Docker Container nya ● Lalu dengan sebuah perintah, kita bisa membuat semua Docker Container dan menjalankannya sekaligus dari file konfigurasi tersebut ● Dengan begitu, kita tidak perlu lagi mengetikan perintah docker create secara manual ketika ingin membuat Docker Container Pengenalan Docker Compose

Slide 22

Slide 22 text

Docker Compose Kapan menggunakan Docker Compose? ● Membuat Development Environment. Ketika kita develop aplikasi, kita sering butuh tool-tool berbeda untuk tiap project. Kita bisa gunakan Docker Compose untuk melakukan setup nya ● Automated Testing. Kadang ketika kita membuat automation testing, banyak sekali hal yang harus kita jalankan secara manual. Docker Compose bisa membantu kita untuk otomatisasi proses setup nya ● Deployment. Docker Compose juga bisa digunakan untuk kasus deployment aplikasi kita. Jadi kita tidak perlu lakukan start manual aplikasi kita di server, cukup jalankan menggunakan Docker Compose

Slide 23

Slide 23 text

Docker Workflow

Slide 24

Slide 24 text

Docker Workflow DEPLOYING APPLICATION source: Programmer Zaman now

Slide 25

Slide 25 text

Docker Workflow DEPLOYING APPLICATION WITH CONTAINER source: Programmer Zaman now

Slide 26

Slide 26 text

Development workflow source: learn.microsoft.com

Slide 27

Slide 27 text

Docker Workflow WORKFLOW DI DUNIA PROFESSIONAL

Slide 28

Slide 28 text

Demonstration & Discussion

Slide 29

Slide 29 text

Source Code: https://github.com/antheiz/docker-sacodeweekend

Slide 30

Slide 30 text

Thank You Happy Coding!

Slide 31

Slide 31 text

www.sacode.web.id