EP 77

Ngobrolin Kontainer - Ngobrolin WEB

Bagikan:

Yuk mari kita diskusi dan ngobrol ngalor-ngidul tentang dunia web. Agar tetap up-to-date dengan teknologi web terkini. Topik, tautan dan pertanyaan menarik bisa dilayangkan ke https://ksana.in/ngobrolinweb ----------------------------------------------------------------------------------- Bergabung menjadi anggota elit di kanal ini: https://www.youtube.com/channel/UCHhAlFGFCGgIusQkQIqJLYw/join Donasi dapat meningkatkan kualitas kanal ini: 💰 https://karyakarsa.com/rizafahmi/tip 💸 https://saw Kunjungi https://ngobrol.in untuk catatan, tautan dan informasi topik lainnya.

Ringkasan Episode

Bantu Koreksi

Episode Ngobrolin Web ini membahas teknologi containerization, khususnya Docker, sebagai solusi modern untuk masalah kompatibilitas dan dependency management yang telah menjadi tantangan sejak lama dalam pengembangan aplikasi. Diskusi dimulai dengan sejarah perkembangan environment development dari era XAMPP yang all-in-one, masalah versi yang berbeda-beda antar developer, hingga munculnya solusi version manager seperti NVM untuk Node.js. Para host menjelaskan evolusi dari virtual machine yang berat namun powerful, hingga lahirnya teknologi container yang lebih efisien dengan konsep layer-based dan image sharing. Diskusi mendalam mengurai perbedaan antara VM dan Container, di mana VM membutuhkan OS lengkap sementara container hanya membutuhkan library dan komponen yang spesifik, membuatnya jauh lebih ringan dan cepat. Episode ini juga membahas Docker Hub sebagai registry untuk berbagai image siap pakai, konsep image vs container, serta Docker Compose untuk mengelola multi-container application. Para host mendemonstrasikan penggunaan Portainer sebagai container management tool yang production-ready, serta membahas konsep Dev Container untuk development environment yang konsisten. Episode ini menutup dengan contoh praktis deployment Next.js tanpa terikat pada Vercel, menunjukkan fleksibilitas yang ditawarkan oleh Docker.

Poin-poin Utama

  • Docker adalah teknologi containerization yang menghilangkan masalah "it works on my machine" dengan konsistensi environment
  • Perbedaan utama VM dan Container: VM butuh OS lengkap sementara container hanya butuh library spesifik yang lebih efisien
  • Docker menggunakan sistem layer-based di mana layer yang sama bisa di-share antar container, menghemat storage dan build time
  • Docker Hub adalah registry berisi ribuan image siap pakai dari PHP, MySQL, Node.js, hingga kombinasi custom
  • Image adalah blueprint/template aplikasi sedangkan Container adalah instance yang sedang running dari image tersebut
  • Docker Compose memudahkan mengelola multi-container application dengan menentukan urutan start dan dependency antar service
  • Portainer adalah container management tool yang production-ready dengan UI untuk deploy dan monitor container
  • Dev Container memungkinkan development environment yang konsisten, bahkan bisa dijalankan di GitHub Codespace
Transkrip Bantu Koreksi

0:00Halo halo halo selamat malam bertemu lagi bersama kita bertiga ada saya Riza ada Eka

0:23juga ada Ivan

0:24seperti biasa di selasa malam

0:28waktunya kita

0:29ngobrolin web

0:31hampir lebaran ya

0:37besok lebaran

0:38mohon maaf lahir dan batin

0:40siapa tau kita pernah

0:46menyampaikan informasi yang salah

0:47jadi mohon maaf ya

0:48mohon dikoreksi

0:49mudah-mudahan enggak ya

0:53atau hotteknya kurang hot

1:00punya hottek tapi kurang hot

1:05ekspektasinya terlalu tinggi ya

1:14kira-kira kontroversial apa

1:17oh gitu, iya sama

1:21ya gitu doang

1:23Ya berhubung sudah hampir lebaran jadi malam ini kita tidak live dulu jadi kita ini edisi rekaman

1:33ini rekaman buat nanti dipublikasi di tanggal 9 April 2024 jadi ada kemungkinan besok tanggal

1:4310 atau tanggal sebelasnya dua hari lagi lebaran lagi pada lihat hilal malam ini ya lagi apa lagi

1:51siap-siap Apakah besok mau apa mau masak atau mau lanjut puasa ya Iya iya iya Nah malam hari ini

1:59liburan liburan di sini aja nanti habis lebaran baru dicari waktu libur yang anti mainstream

2:12soalnya tidak apa ya tidak menikmati eh macet tradisi kemacetan rebut-rebutan dan harga tiket

2:25yang melambung tinggi Iya kita tunggu dari worktrip saja hahaha hahaha setuju setuju

2:34enggak enggak ya cuman kan yaitulah faktor ekonomi kan kalau dulu waktu masih single ya

2:41hitungannya cuma satu misalkan dulu masih sama orang tua pokoknya terserah mau tiket berapa

2:47juga harus pulang ya udah udah dibayar orang tua sendiri aman kan sekarang kalau mikir mau pulang

2:54kampung dikali empat sekarang apa itu ya Oh pangkat n Iya eksponensial dikali empat ya

Lihat transkrip lengkap

3:05kalau tiketnya yang normal 700-800 aja dikali empat ya kan belum lagi penginapan dan lain-lain

3:15jadi ya pulang kampungnya nanti-nanti aja mudah-mudahan kalau ada libur week long weekend

3:22atau anak-anak libur sekolah baru begitu oke topik kita malam ini apa topik kita malam ini

3:33adalah tentang kontainer atau yang populernya salah satu teknologi yang populer docker ya

3:40docker produk-produk docker teknologinya teknologinya kontainer tapi sama web container

3:50web container atau API web container itu apa ya itu belum nama web assembly kan ya yang kayak stackblitz itu loh iya iya iya iya pakai ya dia pakai web assembly dan jadi jalanin mesin di browser mesinnya sendiri memori sendiri

4:14dan segala macam itu bisa kita juga nanti nah itu mutlis episode tapi docker docker itu adalah

4:22kontainer kontainer yang dimaksud di sini ya pokoknya untuk sekarang bedain aja konsep web

4:28container yang satu frase way-nya besar C nya besar gitu web container sama konsep

4:34kontainer kontennya ala si docker ini bingung-bingung ini sebenarnya kalau mau dikategorisasikan itu

4:44sebetulnya sebenarnya ke arah karena cloud atau karena DevOps kali ya

4:49tapi semakin ke sini ya semakin ke sini kayaknya kita web developer

4:56atau developer pada umumnya juga semakin terekspos nih sama tool-tool seperti ini

5:01nah mungkin sebelum kita mulai gali lebih dalam tentang docker dan container

5:07kita bahas dulu kali ya sejarah perkembangan gimana kita develop aplikasi

5:13kenapa sampai ada kontainer-kontaineran ya

5:15betul

5:16awalnya kan membangun aplikasi di

5:19local server gitu ya

5:20di local environment

5:22local host

5:23pertama kali teman-teman disini

5:27yang develop pertama kali

5:29hello world nya itu menggunakan

5:30tools apa untuk local host

5:33saya pakai ASP

5:37ASP itu berarti apa ya

5:38Windows, eh Microsoft

5:40IES

5:41IIS yaitu web web web web servernya ya apa C yang setelah yang alternatifnya apa C apa C

5:52kalau java Tomcat kalau Windows kalau Hello work kedulu enggak pakai server karena HTML CSS

6:13ya udah file-nya langsung dibuka aja file system cuma pertama kali pakai server udah X amp sih Oh

6:22udah sah iya sama sih masih awal-awal versi berapa ya Yes versi 5 gitu ya Iya situ bawaan dari Windows

6:34kan enggak perlu diinstalkan tinggal jalanin servisnya kan ya udah ada di Windows kan eh

6:39Windows Pro pro ya Iya jadi waktu itu masih XP ya masih disampai serial keynya juga dihapal

6:50fckgw itu eh ya seri hoki nya sama gitu buat semua sama banyak sama sumbernya ada di Gejayan

7:04ada di Gejayan itu banyak ya hidupin iya sih itu hanya dari klik-klik aja sih Iya karena

7:17environment nya si Microsoft jadi lebih gampang ya kalau saya ya dari Sam dulu

7:26memang mulainya dari Sam terus pas kripsi itu kebetulan enggak pakai my

7:33sequel kan Sam itu kan ada masih kuelnya kan ya Nah pas kripsi itu diminta pakai

7:38posgri jadi sahamnya tetap dinyalain masih ke boleh dimatiin posgri nya bisa

7:43sendiri tinggal install Excelnya kan Iya betul instalasi jadi di-install di host ya

7:51kenapa dulu pakai Sam gak kita nginstal sendiri agak ribet ya karena ribet install satu-satu

7:58udah pernah nyobain juga sih berusaha kan dulu buat belajar WordPress terus ke install kan Windows kan enggak ada apa servernya ya ya poinnya ribet lah loh kalau mysql nya sih relatif

8:12gampang ya ada executable nya yang ribet itu ngegabungin semuanya punya akhirnya

8:17yang kebrosi-brosi ada adalah phpmythmin nya Oh ya sendiri

8:25susahnya konfigurasinya konfigurasinya susah kalau karena dia kan phpmythmin aplikasi PHP

8:39terus kemudian harus connect jadi berarti kan jadi ibaratnya dia cuma file aja ya file terus kemudian .conf nya harus sesuaiin

8:50terus harus kemudian buat lagi user yang punya permission untuk bisa connect ke mysql nya dan segala macamnya lah

8:59dan cache nya dimana terus kemudian conf nya dimana config nya juga gak cuma di satu tempat

9:06pusing makanya pakai XMPP itu gampang banget jadinya semua masih pilihannya udah disiapin

9:15PHP nya executable nya sudah disiapin tinggal pencet localhost jalan

9:26yang menarik adalah kan di Windows memang agak ribet ya karena command line toolsnya kan tidak

9:36sepowerful unix base kan yang Linux atau Mac OS gitu kan tapi yang menariknya ketika saya

9:46berpindah dari Windows ke Linux waktu udah kerja tetap yang dicari sum juga ada ternyata padahal

9:53di Linux Ubuntu itu tinggal apt-get install apache2 apt-get install PHP terus PHP modnya juga diinstal

10:03sama terakhir MySQL atau postgre kan sebenarnya kan sederhana itu cuman karena udah terbiasa cari juga

10:09yang seperti itu ternyata ada yang itu kan memudahkan dan streamline maksudnya streamline experience

10:16buat orang yang mau pakai Windows mau pakai Linux nah ini kan mindsetnya maksudnya apa prinsipnya

10:21nanti sekian tahun kemudian diterapin di dokter juga kan yang betul kita bahas dan parahnya ketika

10:29pindah ke macOS juga nyari juga ada namanya Mam mmp bayar kan tapi ya Mam iya keberbayar yang

10:38perunya berbayar jadi ya experience yang menarik karena kita nggak perlu install macam-macam cukup

10:45satu executable

10:47kemudian udah terima, jadi

10:49dia ada di kanan bawah, tinggal kita klik

10:51mau di start atau di stop gitu kan

10:53walaupun

10:54kalau starting windowsnya jadi lebih lambat

10:57karena dia harus start beberapa

10:59service tambahan

11:00iya, nah

11:03dari

11:04sum, kemudian

11:07udah mulai kan

11:09udah mulai belajar-belajar, akhirnya bisa install

11:11sendiri, apacenya udah bisa

11:13di install sendiri

11:14PHP nya sudah bisa di install

11:17sendiri

11:17terus MySQL dan lain-lain

11:21sudah bisa di install sendiri karena

11:22kemudahan pada saat menggunakan Linux terutama

11:25terus ada masalah lagi

11:29masalahnya adalah

11:30ketika kita bekerja

11:33di team

11:34itu biasanya

11:36masing-masing

11:38device itu punya versi

11:41sendiri-sendiri

11:42misalkan saya developnya pakai PHP versi berapa dulu ya 3.5 gitu kan Ivan udah versi 6 misalkan

11:51atau versi berapa gitu jauh banget kan sementara ketika diklon reponya nggak bisa jalan karena beda

12:00versi ya kan baik itu PHP Apache mungkin juga databasenya berbeda versi akhirnya ada ada svn CVS package managernya juga udah ada eh package manager belum belum ada belum

12:23itu minta versi berapa dong masing-masing dependensinya eh semuanya di-include monolitik

12:31Iya di-include semua jadi kayak di-zip gitu kan terus di-unzip tapi terus ada

12:40rupanya gitu silakan install.php 5 gitu mysql kadang-kadang nggak disebutin sih

12:45kadang-kadang nggak disebutin jadi kita asumsi bahwa semua orang punya versi yang sama kadang-kadang

12:50Tapi kalau yang

12:52Redmi nya orang yang

12:53Packagenya bagus ya ada

12:55Lebih masalahnya kalau di

12:57Pengalaman saya itu

12:59Biarpun misalnya

13:02Sama-sama PHP version nya

13:04Sama lah misalnya 55 atau 56

13:06Zaman itu ya

13:07Tetapi ada extension yang gak ada

13:09Ada extension yang

13:11Kita butuhkan

13:13Di komputer lain gak ada extension

13:15PHP nya itu gak di install

13:17Contohnya

13:19PHP

13:21yang untuk

13:24apa namanya

13:25image itu

13:26image magic

13:29atau

13:32ya mungkin ion cube

13:36ion cube

13:37loader segala macam

13:40itu kan

13:41PHP extension yang jarang

13:43dipakai, tapi ternyata

13:46kita pakai itu dan gak bisa

13:47jadi sering terjadi masalah kompatibilitas seperti itu

13:53yang meribetkan

13:56oke, kata-kata ini saya clone, kenapa nggak jalan?

13:59atau kenapa saya pakai, nggak jalan?

14:01ya bisa saya setup di lokal

14:02akhirnya ya, kayak gitu kelamaan

14:06terlalu banyak troubleshooting ya

14:10nah yang di frontend lebih parah lagi

14:13developer zaman sekarang

14:14kalau sekarang aja udah banyak komplain

14:17kalau ngalamin yang kok kalau zaman dulu lebih susah lagi kalau di front-end beda lagi kalau

14:24Jack query masing-masing pelagin bisa punya Jackery versi sendiri sendiri Oh iya itu entry

14:31point ke dalam web development yang serius mau saya yang total dulu kan lihatnya cuma

14:38ismi-ismi doang rilanjan cuma bisa HTML CSS sama JavaScript yang lain saya karena mikir nggak

14:45seriusin lama-lama makin banyak di-upwork tool yang murah-murah job yang kecil-kecil itu yang

14:54kayak gitu-gitu tuh error kan dulu nggak tahu sekarang mungkin udah di handle cuman dulu semua

14:59plugin WordPress bawa jQuery sendiri-sendiri terus ya udah sosoan bidding tapi sebenarnya

15:04sambil masih baca-baca udah terus jadi jadi ke apa sebenarnya nggak nggak worth it sama bayaran

15:12jadi dapat tapi karena terancur penasaran ya udah terus malah dapet ilmu Oh ini rest

15:18condition Oh gini caranya jadi jekeri 2 jadi jekeri 3 ya ya beneran deh jadi webnya nah jadi

15:27ada ada apa ya Iya ada lucu-lucuannya juga maksudnya lucu-lucuan mungkin siapa tahu kenapa

15:37sampai sekarang jQuery

15:38poinnya tinggi

15:40pemakaiannya, usagenya

15:42salah satunya karena satu web

15:45bisa jadi dipakai dua

15:47versi jQuery, jadi

15:49kaitungnya dua, jQuery versi 2

15:51sama jQuery versi 3, karena

15:53ada satu plugin yang

15:55tidak update, jadi dia tetap pakai jQuery

15:57versi 2 misalkan, terus sementara

15:59yang website yang

16:01di komponen yang lain itu

16:03semuanya versi 3, jadi tetap harus

16:05terus ada dua versi dekuari dalam satu aplikasi

16:08sih cuma itu masuk akal sih musik itu kalau udah teranjur kayak gitu dan udah lama developer

16:15aslinya enggak ada yang megang pasti nggak ada yang mau benerin kan ya udah selama masih jalan

16:19biarin aja dialias atau apalah biar gak tabrakan atau isu-isu lainnya konflik Oh iya ada ini ya

16:32jQuery no conflict iya ada jadi mengalias terlebih dari kayak cuma nunggu nunggu ada mungkin enggak

16:42tahu pakai timeout atau pakai apa terunggu setiap jQuery baru datang dialias ya semacam itulah

16:49nggak tahu nah eh pada saat perbedaan versi ini ada solusi yang ditawarkan sama developer yang

16:58paling populer adalah

17:01version manager

17:02biasanya kalau node itu

17:05ada namanya nvm node

17:06version manager

17:08kalau ruby ada ruby version manager

17:11ada rba

17:12nv juga terus kalau

17:14python itu ada macam-macam ada pip

17:17ada

17:17krokodil

17:19konda

17:21ada

17:24ada

17:26virtual env

17:29jadi kita bisa

17:31definisikan, wah saya mau install

17:33node versi 14

17:35padahal sekarang yang terbaru adalah

17:37versi 21 atau 18

17:39kita bisa install

17:41yang versi 14 khusus untuk

17:43project ini aja

17:44tapi masalah yang

17:50database-nya beda versi

17:51itu gak bisa disolving disana

17:53karena gak ada database version manager

17:55kayaknya gak ada

17:56Iya itu sempat masalah juga kan dari MySQL 5 MySQL 5 loncat ke delapan kan jauh ya loncatnya

18:07itu kenapa kan enggak tahu konflik meskipun keluar Maria Dibi Maria Dibi sebagai fornya terus

18:21itu yang yang my skill Oracle pesannya lupa San San habis itu dibeli Oracle Oh ya oke

18:35jadi my skill apa sekarang sudah maski ada 8 kan ya meskwe dibeli San San dibeli Oracle

18:43Jadi semua yang barangnya SAN jadi punya Oracle termasuk MySQL.

18:51Itu juga susah tuh kompatibilitasnya tuh.

18:58Kayak kalau misalnya mau convert dari MySQL 5 ke MariaDB,

19:06engine-nya kan beda.

19:09ada yang kan kalau meskipun bawa enggak Ino DB ya mereddy beda lagi ada tetap ada bertambah

19:19ketambahan lain terus nanti naik ke my skill 8 ada lagi itu ada sedikit kompatibilitas itu

19:29ribet ya selain versi itunya sendiri kadang antar OS juga kan kalau misalnya Windows harus install

19:37apalagi kayak ada driver atau apa dependensi sih library-library bawaan yang ternyata nggak ada

19:46kalau kita mau install apalah MySQL atau PHP ya ya ya ya terutama yang Windows ya agak agak

19:56berbeda yang redis-redis juga akan menuju hal yang sama minta lagi apa tuh denger nggak oh

20:03itu harusnya kita bawa topik tentang licensing licensingnya redis baru aja berubah oh nggak MIT lagi BSD dia BSD license sebelumnya

20:17BSD, ditang selalu

20:20iya nah dari situ kita bisa solving satu

20:27apa ya programming language-nya bisa ada versinya

20:31Atau platform kayak Node.js, PHP, Ruby, Python itu bisa.

20:36Tapi database nggak bisa.

20:37Akhirnya muncul ide menarik.

20:40Gimana kalau kita runningnya di virtual machine?

20:46Itu karena teknologi Hyper-VM mulai berkembang ya.

20:53Hyper-VM apa tuh?

20:54Nggak nyamanin.

20:55saya ingat jam mulai mengeluarkan Hai pervi apa hyper vm hyper vm kan akhirnya maksudnya

21:12ini deh yang di private chat coba coba mulai processor itu mulai yaitu ada open PC

21:25ada OpenVC sama

21:27Send Virtualization

21:29oh iya iya iya

21:32ingat gak jamannya

21:33jamannya

21:34prosesor

21:37ini Intel ya jadi mulai

21:39mengeluarkan yang namanya

21:41multi trading

21:43jadi core nya

21:452 tetapi thread nya bisa 4

21:48oke

21:49nah atau mulailah

21:52itu i3

21:54I5, I7, I9

21:56jadi dengan teknologi

22:02hyper trading itu

22:05mulailah muncul

22:07virtualization seperti ini

22:09di prakarsai

22:12yang paling gede itu kan

22:13teknologinya, engine-nya itu kan

22:15open VC sama send virtualization

22:18kalau ininya

22:20VMware pernah denger gak?

22:22VMware

22:22VMware VMware ya enggak juga gila semua ini enggak ngerti gitu ya itu berbayar ada yang ada yang

22:32gratisnya dan yang free itu adalah virtual box ya virtual box free jadi ibaratnya kita bisa

22:43menjalankan OS lain apapun di atas OS kita dengan teknologi virtualization virtualization jadi

22:56virtual itu sebenarnya lawan katanya real mesin ya real mesin itu maksudnya local local mesin

23:03kita kalau disebutnya host host dan guest sekarang itu adalah host tapi bukan dual boot ya kalau

23:10bukan anak dulu pernah dual boot jalan kalau mau booting itu butik kewilu lagi loadernya bisa pilih

23:18ke pakai grab ya grup ya oke grup ke pilih ke Linux kalau ini bukan jadi kita di dalam jelas

23:29dan di atas Windows bisa jalanin Linux ya begitu juga sebaliknya ya kalau karena itu tersimpan

23:38diisi itu virtualnya Iya anak zaman sekarang taunya WSL tetapi bukan WSL beda teknologi

23:45beda lagi itu subsystem kan Iya kalau HPM ini bener-bener boot di booting jadi dia nyala ngebut

23:54dan pakai memori pakai disk storage pakai virtual semua virtual ya bikin mesin diatas mesin gitu

24:06nggak sih kalau istilah yang dukut sudah teknis apa namanya sos menjalankan OS di atas OS Iya menjalankan OS di atas OS

24:17Prosesornya itu virtual, memorinya virtual, semua hardware-nya itu virtual.

24:24Itu teknologi virtual machine.

24:28Dan itu solving problem kalau ketika kita jalankan kita develop di dalam OS virtual.

24:45gitu kan di dalam virtual

24:47ya OS virtual itulah ya

24:48jadi kita developnya antara

24:51kenapa?

24:53lanjut lanjut

24:54jadi kita developnya antara kita

24:57masuk ke OS yang

24:58kita inginkan itu

25:00dalam hal ini misalkan Linux

25:03atau kita connect-in

25:05bisa pakai FTP

25:06jadi kita kayak remote ke dalam OS itu

25:09jadi

25:10ngodingnya tetap pakai

25:11share folder

25:13network ya network ya ya share ya jadi kita enggak langsung modding di Ubuntu nggak perlu install

25:23editor kita cukup install editornya di Windows kita atau dimana kita connectnya atau share folder ke

25:29OS tersebut itu cuman problemnya adalah berat Iya Iya berat makan space yang beratlah satu OS aja

25:41jaman dulu udah main berat berat sekali gitu kan tetap aja ini sampai sekarang virtual masih

25:49dipakai loh masih masih bisa pernah dengar kata VPS virtual private server ya ya kan sewa VPS

25:56itu teknologinya ini virtual virtualization yang sebenarnya berarti dia server yang khusus server

26:04khusus bikin banyak virtual system kan Iya Iya satu hardware bisa dibagi-bagi ke banyak mesin

26:12jadi kalau di Google Cloud buka satu kalau di Amazon isi dua atau EC2 kalau di Google apa ya

26:21VM VM namanya eh Google virtual mesinnya ya compute mesin kompil kompil engine kompil engine

26:29Compute engine, kalau jalani satu Compute engine, kayak gini, sama. Jadi OS segede nya kan ada sendiri.

26:36Iya.

26:37Nah, saya ingat zaman ini waktu virtualization ini pakai yang namanya Vagrant.

26:46Itu Vagrant itu yang buat HACI Corp. HACI Corp itu yang bikin Ansible.

26:52Iya.

26:53Dan sebenarnya...

26:55Oh iya bener. Jadi sebelum ke Vagran, kayaknya kita lebih ke Ansible dulu gak sih?

27:07Iya, Ansible dulu.

27:08Puppet, Puppet.

27:15Safe, yang buku kukuk kan namanya kukuk ya?

27:21Safe ya, Safe.

27:22Safe kan?

27:23untuk runner

27:26untuk

27:29ini

27:35problemnya tadi kan berat

27:39satu berat

27:39kedua misalkan nih

27:42saya punya satu project

27:44node.js nya versi 14

27:46mungkin postgreed nya versi 9

27:49terus abis itu

27:51itu selang beberapa bulan saya punya

27:54project node.js versi 18 posturnya versi

27:5710 itu kan setiap kali ada project itu

28:02berarti kita punya harus punya satu vm

28:04kan dan kita harus ya diberi ulang klik

28:06diberi ulang ya klik di gue nya harus bikin dulu pilih OS nya untuk space nya bakal banget ya betul nah muncullah fagran ini tujuannya untuk bisa kita definisikan pakai script kan saya pengen Ubuntu nya versi sekian

28:23node.js versi sekian posklinik versi sekian terus kita bisa running running yang set-up sama ngerebut

28:31dia sifat dan nya itu ya istilahnya selesai selama ini tuh sering baca Vagrant tangga dari mana dari

28:40Laravel kan punya Laravel kan banyak produknya toh yang waktu itu kita bahas ada produknya

28:45namanya homestead homestead itu jadi kalau buat orang yang enggak terbiasa installnya

28:51nge-set up Laravel composer apa sih kan harus PHP artisan blablabla composer kan agak ribet

28:59Kalau pengen yang langsung jadi, itu pakainya para file homestead.

29:03Nah, itu di Vagrantbox.

29:04Tapi kayaknya berbayar, teh.

29:07Ya gitu.

29:07Cuma sering baca karena itu.

29:10Cuma nggak pernah ada kebutuhan pakai, jadi belum pernah coba.

29:13Iya.

29:14Nah, ini salah satu local development server yang untuk WordPress development.

29:21Khusus untuk WordPress ya, berarti ini ya?

29:23Iya, community build untuk WordPress zaman itu ya.

29:2610 tahun lalu kayaknya ini.

29:29Hai jadi caranya apa tekniknya disini tuh udah disiapin semua untuk template-templatenya untuk

29:37bisa ngebuat sebuah lokal mesin yang sudah optimize untuk WordPress atau PHP harus install

29:47HP kan bahkan enggak ada kita enggak install PSP manual harus install virtualbox ya dan

29:54jadi virtualbox dan pageran nanti dia yang akan create virtualbox nya berapa disknya segala macam

30:03dan software-software apa yang dibutuhkan dari Apache mungkin Apache nginx itu kemudian PHP

30:10versi berapa didefinisikan phpmyadmin composer composer npm segala macam sudah ada di sini semua

30:21di-maintain komunitas dan dulu saya suka pakai ini untuk itu makanya kalau mau naikin fadran

30:31pageran down pageran destroy pilih dokter ya ini cikal bakalnya cikal bakalnya pageran dan ansible

30:39Iya jadi scriptnya ini ansible sebenarnya dia untuk nge-generate untuk otomasi kan otomasi

30:48deployment kan sebenarnya awalnya ya si ansible ini kan dia cuma runner ya dia mau pakai buat

30:58bisa mau pakai development bisa bisa bahasanya provisioning provisioning bisa provisioning oke

31:07ya ya ya Nah habis dari sini baru muncul docker docker docker ini adalah salah satu jadi kenapa

31:22muncul teknologi ini karena untuk provisioning sebuah virtual environment lama iya tuh download

31:30butuh setup segala macam sedangkan teknologi kontainer ini dia enggak buta lama karena ada

31:39cuma application yang enggak virtualization beda ya ini jadi kembali lagi ya diingatkan docker ini

31:49nama produk teknologinya adalah container

31:52jadi apa yang membedakan antara container dengan VM

31:57ya ini

31:58jadi kalau VM kan semua satu OSnya dibuat

32:02di download, di download, di di load oleh OS

32:07sementara kalau docker dia bisa numpang sama OS kita sekarang

32:12hanya menginstal library-library

32:16atau komponen-komponen yang tidak ada di OS ini aja.

32:21Punya kita, di tempat kita yang asli.

32:24Iya, jadi bisa dibilang loading-nya itu bisa lebih cepat setengah atau lebih dari VM.

32:33Dan ukurannya ya lebih kecil tentunya, karena nggak perlu,

32:36kalau misalkan kita punya 5 VM ya berarti 1 VM misalkan 1 GB ya jadi 5 GB kan.

32:42sedangkan kontainer ini dia ada apa ya ada kayak divnya kayak git div gitu jadi misalkan kita

32:50punya layer layer Oh ya si dokter ini punya layer layer layer OS layer aplikasi layer komen

33:00apa gitu layer layer jadi kalau misalnya aplikasi kita eh sorry docker application nya ya application

33:09di atas doa jenjel dijalankan yang dijelanin lips itu bing sama lips nya itu ya layarnya sama dengan

33:17up misalnya asli bing sama lip sama up C ternyata ada tiga layer yang bisa kayak di-share gitu air

33:24bisa di-share kondisi tak perlu didownload lagi jadi dia share aja betul yang didownload hanya

33:30yang perbedaannya aja yang berbeda lebar lembre yang berguna repot ya kemana repot tapi buat

33:37betul indahnya adalah kalau misalnya kita ngebil application B berulang-ulang yang berubah itu

33:46hanya yang yang layer yang yang di-build itu hanya layer yang berbeda aja layer yang sama

33:53nggak di-build ulang maka bisa cepet banget betul dan dokter ini yang cukup terkenal adalah dia

34:01menghilangkan memes it works on my machine online mesinnya karena semua jadi pakai mesin yang sama

34:11termasuk sampai deployment di pulau mania yang di depan adalah dokter-dokter image-nya portability

34:21ya jadi bisa ya portable dengan karena layarnya sama mau di lokal mau di server di staging

34:29production dan development itu sama semua sehingga menghilangkan asumsi karena perbedaan environment

34:40itu susah ngedebugnya kalau beda

34:48jadi apa ya mungkin ya buat teman-teman webdev sekarang kayaknya udah mulai relevan ya untuk

35:01belajar docker ya mungkin beberapa tahun yang lalu kayaknya masih ngapain masih pakai nvm

35:05masih okelah gitu atau pakai version manager lain masih oke kalau sekarang kayaknya udah lebih apa

35:12resursenya udah banyak

35:15tempat belajarannya udah banyak

35:16dan di beberapa

35:19perusahaan yang saya tahu juga

35:20menggunakan docker untuk

35:23onboarding, jadi ketika kita baru

35:25masuk langsung dikasih ini

35:26docker image-nya silahkan

35:29langsung apa

35:31kalau mau ngerjain ya tinggal docker up

35:33atau something gitu

35:35kayak docker compose up gitu kan

35:36udah semua docker

35:37apa

35:38shortcutnya

35:42The CUPD itu kalau pakai CSH

35:44ya sih minimal nih

35:45kita sebagai web developer

35:47seawam apapun

35:49kita kan adalah usernya minimal ya

35:52usernya

35:54dari doker itu, maksudnya kita yang dimudahkan

35:56mungkin misalnya ada project

35:57kita punya project lead atau orang

36:00devops atau orang infra atau apalah

36:02rekan steam kita yang lebih

36:03menguasain soal ini

36:05udah dibikin, disepakatin

36:08ada doker image-nya, ya minimal

36:09kita harus tahu kalau misalnya kita

36:11nge repo yang ada dokter image itu cara pakenya gimana minimal banget kan pertama bisa menggunakan ya pasti lebih ideal lagi kalau kita bisa bikin image juga bisa mendeploy dan lain

36:25pertama kita minimal mulai sebagai pengguna yaitu DC UPD dokter kompos itu DC dok dok

36:34alias

36:36alias

36:39alias

36:39udah bawaannya ya

36:42docker

36:45compost app

36:46d nya itu sebagai diamond

36:48di background

36:50oke tadi kan sempat ngomongin

36:52tentang image nah ini kayaknya

36:54harus kita klarifikasi

36:56harus kita jelasin dulu

36:58docker image itu apa

37:00container itu apa

37:02kalau mesin itu blueprint image itu udah seperti blueprint-blueprint aplikasi yang

37:15kita yang akan kita jalankan contoh dalam hal ini anggap aja PHP server PHP MySQL

37:24Iya jadi MySQL itu blueprintnya sudah ada image-nya jadi bisa blueprint untuk image-nya itu bisa buka di hub.docker.com

37:35Nah ini ada registry ya istilahnya yang ini ya registry ya

37:41Registry itu adalah kumpulan docker image yang bisa kita gunakan

37:46ini public ya ada private nya juga ada private nya juga dan kita bisa bikin private repository juga bisa

37:55betul nah ini PHP official image dan kalau misalnya lihat dari tag tag nya itu bisa ke tag di atas

38:05Nah ada macam-macam tekniknya ada letters pakai itu yang OS artnya itu segala macam kan ada tuh

38:15di di more more karena five more nah ini ya ini nya taggingnya dan target arsitekturnya

38:30jadi bisa dipakai sesuai dengan kebutuhan itu kayak contohnya di-scroll sedikit

38:36nah docker pull up itu up up up up ZTS

38:41itu ZTS bullseye itu artinya dia di debian dan dia itu threat safety

38:49jadi ada PHP yang threat safety ada PHP yang di build dan non threat safety

38:55jadi bisa dipilih apa itu threat safety atau tidak itu bisa nanti jadi kita punya bahasa

39:00selanjutnya kapan-kapan lalu kemu ini kan ini image-nya ya image itu di tagging dan kita mau

39:10pakai image mana nah kontainer itu adalah aplikasi sudah berjalan jadi image yang yang kita tarik

39:19ke lokal dan image itu dijalankan sebagai sebuah proses server jalan kan ya service jadi sebuah

39:30service Oh ya service-service maksudnya itu service itu jadinya namanya kontainer dan itu

39:37satu-satu satu service pasti satu image ya gak bisa satu gar bisa kita jalanin mu PHP sama my

39:45kecuali dalam image nya

39:50image itu mau expose 2

39:52bisa juga

39:54kalau kita bikin

39:55jadi kalau kalian mau bikin custom image

39:58yang di dalamnya itu sudah ada langsung apa

39:59ada kok, kalau misalnya mas Tiza

40:02naik ke satu level ini

40:04ada

40:05PHP yang sudah

40:07sama ada gak?

40:10official image

40:12ada

40:13ya turun turun turun turun turun itu kan ada php82 sialai yang sialanya

40:28aja ada yang sudah dibalang sudah dibungkus dengan apa dibanding sama yang lain coba turun turun turun

40:35turun turun nah ini dibanding karena itu dependensinya sih PHP Oh macam-macam variasi

40:42dependensi ada variannya turun lagi turun lagi atau sobat search a pace misalnya nah ini dia

40:58ada yang sudah dibungkus sama apa ceh nih ini contohnya PHP 7182 apa cc dia sudah dibungkus

41:08Jadi dia sudah running di port 80, sedangkan kalau tadi kita runningnya di PHP FPM berarti dia runningnya di port 9000.

41:19Satu service pasti satu image. Dan satu image bisa dijalankan lebih dari satu service.

41:31ya ya misalnya mau service eh image tetap sama MySQL tetapi kalian mau pakai MySQL untuk yang

41:39aplikasi A aplikasi B aplikasi C terserah tetapi harus kalau jalan bersamaan port yang diexpose

41:47waktu di mapping berbeda karena dia koneksinya ke port yang lokalnya docker file itu kan docker run

41:58day portnya yang dari host 80 di mapping ke 80 yang ada di dalam service kita tempat kita ya

42:08kalau mau dibikin yang no mau dibikin yang ke service yang kedua batin gak boleh 80 lagi

42:16batil 81.2 80 hati-hati di-mapping jadi nanti localhost 81 tapi nggak bisa sih 81 udah dipakai

42:26Jadi bisa 88.000.

42:28Ya di atas ribuan ya?

42:31Di atas 1.024.

42:341.028 gitu.

42:36Ya. Tapi pada umumnya kita ngerunning satu image untuk satu container gak sih?

42:48Enggak juga?

42:50Satu image untuk.. Enggak juga. Contoh yang saya bilang tadi.

42:53Bisa aja.

42:55saya ngedevelop saat ini ya di company yang saya kerja menjalankan tiga project ya kan tiga project

43:04ini tentunya mysql nya sama image-nya kan masih satu ya karena versinya sama harus versinya sama

43:12butuhnya masih mysql 8 gitu ya jadi sama aja jadi satu image kan tetapi waktu saya compose up

43:20masing-masing ya dia harus ada id-nya masing-masing ya nanti kan volumenya beda volumenya beda jadi

43:29volume yang untuk nge-volume yang untuk ngehost data MySQLnya bin filenya itu kan berbeda jadi

43:40servisnya tetap bisa jalan portnya beda

43:43coba balik artikel yang tadi deh ternyata ada penjelasan juga tentang image Scroll up

43:53dikit tuh menarik tuh eh Scroll down dikit kalau disini dianalogikan sebagai fotokopi

44:00mesin fotokopi mesin fotokopi template yang berisi aplikasi dan dependency seperti kode

44:10library termasuk konflik blueprint bisa di copy ke image tersebut yang dideploy adalah image Iya jadi misalkan image yang kita pakai adalah anggaplah kalau tadi kan PHP kita pakai Ubuntu Terus di Ubuntu ini kita bisa customize lagi kan

44:29kita mau tambahin Node versi 18,

44:34Postgre versi 12,

44:37Nginx-nya versi berapa gitu kan.

44:40Habis itu sudah di-install,

44:43habis itu dijalankan masing-masing servicenya.

44:45servicenya terus habis itu apa perintahnya copy eh lokal folder yang ada aplikasi kita ke foldernya

44:55si misalkan enginex ingin situ misalkan di farwee atau di tempat lain gitu kan dan seterusnya dan

45:05terusnya kan jadi kayak apa ya istilahnya tuh apa infrastructure as code Oh iya ya

45:15ini berat tapi disimpan dan di depan sebagai kode bukan ya beda ya ini bukan infrastruktur

45:22kan iya termasuk infrastruktur juga sih ya kalau udah di-deploy ke server itu udah jadi

45:28infrastruktur infrastruktur ya kalau buat aplikasinya kurang lebih bisa jalan di lokal

45:33bisa jalan di server di jalan di siaya dimana aja selama ada docker servicenya itu udah bisa jalan

45:41itu bisa jalan di atas docker juga ya dokter jalan di atas dokter pernah tahu aneh itu bisa

45:49bisa tahu-tahu salah satunya kalau teman-teman tadi kan Ivan sempat bilang diawal kan ada WSL

45:56Windows of subsystem Linux yaitu docker dan di dalam WSL itu kita bisa jalanin docker lagi

46:03bisa install docker contohnya dokternya install dokter lagi coba balik ke hub-hub docker misalnya

46:12cari Alpine atau atau deviant Alpine itu OS kan ya Iya deviant deh dan Alpine juga bolehlah Alpine

46:21lebih terkenal ya jadi dokter pulut debian jalanin terus siap lagi ke debiannya atau

46:33koneksi lainnya itu sudah OS sendiri betul devian nya install aja kontainer di Iya tapi

46:41ini walaupun OS nya ya tapi meskipun ini ditulis debian tapi ini tidak full OS ya

46:49yang ada di docker hub ini registry tidak full OS jadi jangan harap bisa jalanin Windows ininya

46:58pakai aplikasi desktopnya aplikasi desktopnya ini kayaknya hanya untuk

47:07untuk development lah untuk development

47:14kita install versi Debian yang hanya bisa jalan di terminal.

47:18Gitu lah kira-kira.

47:20Nah kalau Alpine tadi,

47:22Alpine ya?

47:24Paling kecil itu Alpine.

47:26Alpine ini, ini juga

47:28Alpine.

47:30Ini juga OS Linux.

47:32Tapi

47:34khusus dibuat untuk

47:36docker image.

47:38Jadi dia dioptimise.

47:40Cukup 5 Mega.

47:425 Mega aja ya, chill. Iya.

47:445 Mega itu yang... OS nya?

47:49Bukan OS. Apa?

47:525 Mega itu kayak bin nya si Alpine sendiri, tapi kalau OS nya itu kan...

48:00Oh iya, iya. Kalau beda dan sel ngelar ya.

48:02Gede juga. Iya.

48:04Nggak kecil, tapi ini salah satu yang paling kecil kan Alpine, yang paling sering dipakai juga ya.

48:09karena memang dia di tujuannya adalah dibuat untuk apa untuk dokter ini kan ya jadi dan

48:18kelebihannya berarti itu ya portability kan mau saya apa jadi yang yang di-deploy yang di-share

48:24mesin

48:26local mesin kita masing-masing

48:28kan image-nya

48:29ya walaupun nanti pasti jalanin

48:31di install binnya melar

48:33tapi ini

48:35portability tadi kan

48:37betul

48:40nah tadi kan pertanyaan saya apakah

48:42satu image

48:43satu container hanya berisi

48:46satu image atau enggak jawabannya

48:47bisa iya bisa tidak kan

48:49maksud saya adalah biasanya

48:52kalau misalkan kita mau install

48:55node.js

48:57sama

48:58postgre dan sama

49:01engine.exe, biasanya itu kan

49:02masing-masing ada

49:04kita menjalankan dokeran masing-masing kan

49:07dari tiga itu

49:08habis itu kita bisa gunakan

49:11daripada capek-capek kita harus

49:13oh sebelum

49:14kita jalanin

49:16engine.exe dan

49:18node.js kita harus

49:20jalanin service database-nya dulu

49:23karena si node.js-nya akan

49:25connect ke database kan, kalau

49:27node.js-nya duluan

49:28database-nya belum jalan, maka akan error kan

49:31nah ini

49:33bisa kita akalin dengan tools yang namanya

49:35docker-compose, benar gak sih?

49:37betul

49:38buat ngejadikan satu ya?

49:41untuk menjadikan satu

49:43karena ribet juga kan

49:45jalanin satu-satu service

49:46ngedefine port-nya

49:49terus kemudian nge-link antar container, nge-link antar container juga susah ya.

49:56Jadi contohnya ini kayak gini nih, kita definisikan servicenya dalam format YAML,

50:03kita kasih tahu service web ini akan dibuild di local directory, portnya 5000,

50:12volumenya di sini, kemudian ada service kedua, database, dalam hal ini Redis,

50:17menggunakan image yang namanya redis

50:19jadi kita punya dua

50:23punya dua container nih ya

50:25berarti ya

50:27satu yang untuk web

50:29satu untuk database

50:30catching

50:31atau apapun

50:34jadi kita gak perlu

50:37docker run web

50:38kemudian docker run redis

50:40kita tinggal jalankan docker compose up

50:43atau sebelumnya

50:45docker compose build dulu abis itu baru di up ya

50:47sekarang sudah jadi

50:49sub-comment, kalau dulu

50:51docker-compose

50:54ya

50:54oke, nah

50:58lanjut dari

51:00containerization

51:01dari aplikasi yang udah kita bikin

51:04satu-satu ini, baik itu web

51:05database, mungkin nginx

51:08atau proxy gitu kan

51:09itu kan

51:11satu container

51:13maksudnya cuma satu kan

51:15kalau misalkan nanti kita bawa ke production

51:18dan butuh di scaling

51:20baru kita butuh yang namanya orchestration

51:22jadi itu yang membedakan antara

51:24containerization sama orchestration

51:27dalam hal ini Kubernetes

51:28Kubernetes itu adalah

51:31Docker Swarm

51:32Docker Swarm juga

51:34kalau di Amazon

51:37kalau di

51:39eh sorry kalau di Amazon

51:42namanya AWS itu

51:44EKS

51:45kalau di Google Cloud namanya eh eh eh eh eh eh eh eh eh eh Google container engine Google

52:06.google Kubernetes Engine GKE.

52:09Oh ada ya GKE.

52:11Iya.

52:13Ya intinya orchestration lah.

52:15Nah kalau udah orchestration ngomongnya,

52:17sudah harus ada kayak yang namanya load balancer ada yang namanya service registration ada health check scale up scale down segala macam

52:35Kita undang nanti.

52:38Iya, kalau udah ngomongin orchestration kita nggak bisa ngomong banyak-banyak karena kita nggak ngerti.

52:46Jadi harus mengundang orang yang lebih mengerti.

52:49jadi kita batasi

52:51obrolan kita di

52:53containerization aja

52:55sekedar pengetahuan aja ya kalau

52:57Kubernetes itu sekedar pengetahuan apa sih bedanya

52:59containerization sama Kubernetes gitu kan

53:01atau Docker, nah Docker sendiri kan

53:03tadi produk tapi kan ada

53:05alternatifnya kan

53:07ada alternatifnya

53:09Docker itu

53:11alternatifnya ada yang namanya portman

53:13portman ini API-nya atau

53:15CLI-nya itu mirip jadi kita bisa alias

53:18alias docker sama dengan portman

53:20buat gantiin gitu

53:22cuma sisanya sama?

53:25oh saya komen lainnya sama

53:27docker tuh

53:30logonya ikan paus ya

53:31ikan apa sekarang ini singa lau

53:34singa lau

53:35kelebihan si portman ini

53:38setahu saya ya tolong koreksi kalau salah

53:40jadi kalau docker itu kan

53:42kalau kita mau jalanin kan harus ada docker service

53:44yang berjalan kan

53:45di ya kita install aplikasinya ya kita install aplikasinya baik itu apa docker desktop atau

53:52yang lain ya Nah kalau pot ini itu nggak gratis ya kalau untuk komersial ya ada gratis gratis

54:04dipakai untuk personal use personal use untuk komersial up to sekian juta dollar itu harus

54:11harus ada kalau udah pakai berapa kali sebetulnya harus beli ada orang yang ada alternatif lain ya

54:23ada ada alternatifnya kok nanti mungkin kita akan bahas juga nah poin ini dia standalone

54:30jadi nggak perlu ada diamondnya nggak perlu ada servisnya bisa langsung jalan nice jadi

54:36lu jalanin dari CLI aja gitu dari terminal diketik betul komennya asal musim di direktur yang ada

54:42file-file itunya potnya jalan Oh ya menariknya itu salah satu yang menariknya sudah berarti ya

54:49kompos enggak enggak kayaknya enggak deh nggak tahu deh portman desktop ada portman desktop ya

54:56manage container dalam kurung not just putman modify ini namanya modify into pots tuh tembok

55:07men-run portman build enggak ada sih kayaknya enggak ada kompos itu beda deh kayaknya kalau

55:14susah buku-buku warnanya ya ampun sama juga ya orang investasi ini gua yakin terlagi buat

55:26menuju lagi nih kompos pot apa namanya pot mencobos ini temen kompos Oh ada berarti ada

55:34ada-ada ada-ada ini nah kisahnya sama kayak postman postman bikin pos-pos woman ada juga

55:42Oh iya pos woman bener-bener bener tapi udah ganti nama kayaknya Iya udah dibeli tadi kita

55:52mau bahas alternatif dari docker compose dokter eh docker desktop alternatif ada yang namanya

56:00apa ya colima kalau nggak salah bener ya kolima Iya betul betul kalau bacanya kolima ya kolima

56:07ini mana isinya Oh belum ada video version nah ini potnya alternatifnya portman karena ada portman

56:16desktop ada kolima ada Ranger oke kok the only available for Linux sama Mac OS Iya nggak ada ya sayangnya udah Kalau gak salah Itu alternatifnya Jadi kalau misalkan teman mau pakai docker desktop tapi

56:34komersial, dipakai untuk

56:36kerja, untuk kantor,

56:38coba cari alternatifnya. Jangan pakai docker desktop

56:41karena itu berbayar.

56:43Kalau bisnisnya di atas

56:44jutaan, berapa jutaan dolar gitu.

56:47Oke.

56:48Jadi kalau misalnya

56:50toko hijau misalnya ya,

56:53itu kan sudah lebih juga ya itu sebabnya boleh pakai dokter desktop

56:56oh iya ya harusnya kita tanya ya sama itu ya developer toko ijo ya

57:02kalian pakai desktop docker desktop atau enggak ya

57:05tapi mereka udah bayar lah masa sih

57:07portman

57:10buildah

57:15ada

57:17runc

57:19ada buildkit banyak ya sekarang ya

57:22LXD ini lumayan

57:24Jadul juga nih

57:26Terus

57:29Mesos juga ya apa aja

57:31Mesos baru tau nih

57:32Penyataan ini semua

57:34One on one comparison sama docker

57:37Tapi ya maksudnya ada hal yang

57:39Bisa digantiin ada yang enggak

57:41Iya iya iya benar benar

57:43Itu

57:45Nah untuk

57:48Informasi atau untuk teman-teman belajar

57:51gimana caranya bisa langsung ke

57:53dokumentasinya docker langsung

57:55dokumentasi resminya

57:56sangat lengkap

57:58dokumentasi tutorialnya

58:01juga ada

58:02tutorialnya juga udah lengkap, mau pilih bahasa

58:05apa atau itu ada semua

58:07disini, teman-teman tinggal ikutin

58:09aja, ini udah lengkap

58:11udah gak perlu ke tempat yang lain kayaknya ya

58:13tinggal ngikutin, bener-bener

58:15ngikutin, udah bisa

58:16paling reliable kan karena

58:18dari pihak

58:19apa official dokter langsung official Jadi kalau ada update bahkan most likely kalau misalnya kalian

58:25bukan Solo developer atau posisinya bukan apalah infratodeops atau apa paling baru baca 12 halaman

58:34udah nemu yang dibutuhin udah Oh ya ngerti udah bisa pakai habis itu nggak pernah nggak pernah baca

58:40nggak pernah baca sisanya gitu karena sangking lengkap dan jelasnya tapi ya apa kalau pengen

58:45secara lengkap yaitu tinggal dibaca aja udah satu-satu ya di sini ada konsepnya apa itu kontainer image registry sama docker-compose

58:54terus ada lenjik spesifik guide mau node.js ada sampai C Sharp juga ada

59:00PHP juga ada misalkan ini PHP kita kan tadi ngomongin PHP misalkan gimana caranya ini dikasih contoh projectnya

59:08kemudian kita init

59:10ini bikin sendiri ya bias jarang ya kecuali kalau kita yang setup

59:14misalnya ini kalau kita mau belajar set up ya kita harus meng-set up Kenapa saya barusan

59:23kentus koneksinya Oh tapi sekarang udah nyambung lagi kayak enggak ada ini dari kita kelihatan

59:29masa aman aja enggak ilang Oh gara-gara tadi enggak ngomong kali jadi kita enggak nyandari

59:34Iya dari docker ini nanti dia bikinin kompos yaml kompos Jason docker ignore dan lain-lain

59:44ya teman-teman udah bisa pasti udah bisa nebak ya Apa itu dokter ignore terus kita bisa jalankan

59:50dokter kompos kalau misalkan baru ya pakai build kalau minus di artinya Diamond jadi di belakang

59:58atau background kalau udah selesai kita kompos down selesai gitu mungkin diawal agak merasa ribet

1:00:08susah gitu kan tapi ya ini sebagaimana tools baru yang dipelajari konsepnya sih yang susah adalah

1:00:18konsep awalnya ya tapi kalau dan jalanin semua terus pasti yang Oh gitu maksudnya sambil banget gitu oh gitu Iya biasanya biasanya gitu Biasanya konsepnya dulu yang harus kita pahamin benar

1:00:35Baru kita pakai.

1:00:37Kalau kita konsepnya belum ngerti tapi udah pakai,

1:00:40biasanya ada missing link.

1:00:43Begitu.

1:00:45Ada lagi tuh yang dokercurriculum.com

1:00:47buat belajar doker.

1:00:49Ini juga bagus nih.

1:00:50Ini juga bagus.

1:00:51dokercurriculum.com

1:00:53sama satu lagi mau bagi pengalaman jangan push ke dokter hub kalau aplikasi image yang kalian buat

1:01:03itu ada API atau ala-ala itu sama ya Jangan dikomentar ya paniknya kayak panik banget itu

1:01:15Oh shoot gitu ya. Oh no, langsung hapus.

1:01:19Langsung hapus.

1:01:21Ya, ngomongin registry, kita bisa publish registry bukan hanya di Docker Hub ya.

1:01:28Service cloud masing-masing baik GTP, AWS, dan lain-lain itu ada semua kan ya?

1:01:34GitLab juga ada kalau mau free.

1:01:37GitLab ya kalau mau free ya?

1:01:39GitHub nggak ada?

1:01:42Nggak ada.

1:01:43Oke.

1:01:44ya Masang ada yang enggak ada lainnya gitlab yang ada Oh canggih juga gitu gitlab ya

1:01:55Hai Oke ini ada docker minus kurikulum.com tadi dokumentasinya teman-teman bisa cari juga rasanya

1:02:03dari situ aja udah cukup dan langsung praktek lebih dari cukup sih enggak usah cari-cari

1:02:08tutorial lainnya lagi.

1:02:12Ada proyek baru

1:02:13atau proyek yang udah jalan

1:02:14sekalian dicatat kan?

1:02:17Butuh. Iya.

1:02:18Pengen coba di-containerize.

1:02:21Kadang-kadang kita bikin

1:02:23proyek tapi kita lupa.

1:02:25Apalagi proyek pribadi gitu kan.

1:02:27Kita mau publish ke

1:02:28mau publish lah

1:02:30pakai GitHub atau pakai apa. Tapi kita lupa

1:02:33kan. Mencantumkan versinya.

1:02:35Terus tiba-tiba ada yang clone

1:02:36terus kok nggak bisa ya?

1:02:38ya itu waktunya

1:02:40waktunya kita nyatat-nyatat

1:02:41oh saya jalanin di PHP versi sekian

1:02:44Node.js versi sekian

1:02:45yaudah dicatat sekalian

1:02:47dibikin docker file-nya

1:02:50atau docker compose-nya

1:02:52itu udah

1:02:53membantu teman-teman yang lain juga untuk

1:02:55ini

1:02:56ada satu lagi yang

1:02:58docker ini apa namanya

1:03:01kayak

1:03:02gue gak tau

1:03:04mungkin bukan containerization namanya

1:03:07oh container management

1:03:08itu ada juga seperti portainer

1:03:10pernah dengar?

1:03:12portainer

1:03:13portainer

1:03:15portainer

1:03:16portainer

1:03:17oh portainer

1:03:21ini kayak docker

1:03:23atau container management

1:03:26container management

1:03:27untuk membantu kita memanage

1:03:30jadi

1:03:31kita bisa deploy container

1:03:34di server juga bisa

1:03:37untuk IOT device kita bisa nge-deploy bermacam-macam sesuka saksi kita kontainer

1:03:46manajemen software that simplify secure adoption of container sweet remake herbal speed ini amodi

1:03:56mau demo ini boleh boleh mau demo ini mau demoin apa demoin apa nih portainer portainer

1:04:09Oh kirainmu demoin docker dulu Oh partnernya aja udah eh for tenor coba ya bisa nggak bisa nggak ya

1:04:25udah

1:04:32share screen share screen oke udah sudah share sudah nah ini kan saya jalaninnya di apa namanya

1:04:40di Raspberry Pi portainernya ini apa nih Raspberry Pi ini lupa nama aplikasinya terus

1:04:50for tenor nya itu sumin sumin oh iya nah tenor ini kan Nah jadi saya buat itu semua ini aplikasi

1:05:04ini sendiri ya ini aplikasi pertenu sendiri aplikasi yang jalan di atas docker sendiri

1:05:10saya lupa namanya apa terus lainnya portainer ada dua server satu yang di sana satu lagi open media

1:05:24volt contohnya ada jalan ini makonten er Oh itu namanya Homer ini untuk untuk untuk tampilan ini

1:05:35namanya Homer terus coba temennya bawa satu-satu aplikasi sendiri itu saya ada engine explosive

1:05:44lihat ya kan ada for tenor pae4 ik2.org kan ini ini hanya jalan di localhost edi lokal net

1:05:53punya saya alias doang enggak ada jalan di dari payhole jadi pakai nih DMS-nya sendiri punya punya

1:06:07local DNS terus kemudian dari terus saya punya engine explosive Manager ini untuk jadi haknya

1:06:23jadi supaya bisa kayak nginx PIVO terus kemudian file DNS PIVO for tenor PIVO ini semuanya jadi

1:06:30gate-nya lewat nginx dan itu semua di dalam kontainer dari indihost sama portainer nah

1:06:41ini kan jalannya di port masih berbagai macam jadi portainer ini yang memanage konten kontennya saya

1:06:54jadi kalau saya mau hidupin satu satu aplikasi baru ya tinggal stacknya apa tinggal add stack

1:07:05mau taruh komposernya disini bisa mau enak atau ada gue nya gitu Oh ini gue buat dokter kompos

1:07:15gitu ya kira-kira ya sederhananya aplikasi aplikasi template udah banyak contohnya ya

1:07:22apa by mau ajalin Kedi atau kalibre cloudflare server-server couchpotetola deluge apalagi file

1:07:40browser kalau mau ada Valsila yang server ini Valsila server gitu ya juga ini kayak

1:07:49gitu ya gitlab gitlab ada grafana macam-macam ini banyak banget nih jellyfins kalau mau denger

1:07:57lagu kayak flex-flex media server jadi kita nggak perlu bikin docker-compose yaml sendiri ya udah

1:08:12tinggal pilih dari template ini ya mau jalanin payphone nih leho advance portnya ini kan Oh

1:08:25ya ya deploy pop udah jadi gitu nantikan yang bakal jalan di di depot berapa nih kelihatan nih potnya berapa ya kalau saya mau mengunjungi langsung begini juga bisa nih jalan disini jalan disini

1:08:46kalau homenya saya jalanin disini ya cuma karena saya enggak suka pakai IP saya tambahin engine

1:09:03eksplosi Manager di proxy Oh supaya namanya jadi saya bisa punya saya bisa punya nama dan nama

1:09:10ini saya register ke clubflare di clubflare yang saya nah itu saya bisa kunjungi ini dari

1:09:18dari seperti ini deh kayak kayak kunjungi biasa web ya tapi ini hanya bisa hanya bisa di rumah saya

1:09:26nah satu terus saya kan ada dua portainer satu lagi portainernya dia bisa nge-manage satu jadi

1:09:36ada ada portener yang bahasanya eh pos satu lagi satellite atau agent kalau nggak salah agent itu

1:09:47yang di omv ini agent deh kalau saya jadi kalau saya bisa punya lebih dari 10 atau 100 bisa pakai

1:09:57porten jadi saya bisa nge-init contohnya masuk ke portenernya si omv nih saya bisa manage jadi dari

1:10:04tampilan portainer host saya

1:10:07yang di Raspberry Pi A

1:10:10saya bisa ngemanage

1:10:11yang di open media

1:10:12open media fold ada dua

1:10:15transmission sama portainer agent

1:10:17jalan

1:10:18itu

1:10:20open media foldnya sendiri kan

1:10:23debian ditambahin

1:10:25aplikasi

1:10:27OMV

1:10:28jadi ya saya punya

1:10:32omv saya ini kan punya hard disk gede banget nih sampai berapa 7 GB 7 GB tapi dia di ini

1:10:43es remori 7 GB memori kalau-kalau ini sih tuh empat tera ya ya tiga ya yang dan ini di apa

1:10:55namanya di di di mirror dan ini SSD di mirror juga 500 GB untuk backup jadi kayak time machine

1:11:09saya selalu backup ke open media call secara otomatis ya 3 tera lah 4 tera kalo gak salah

1:11:22disini di-rate satu yang lain di-rate juga ini apalagi ya itulah portainer jadi bisa virtual

1:11:36container container management software lebih tepat bisa production ini production ready ya

1:11:49Jadi bukan cuma buat mainan-mainan di rumah doang.

1:11:54Tinggal di deploy ke remote.

1:11:56Di deploy kemana gitu ya?

1:11:57Iya.

1:11:58Contohnya di situs wp-id.org.

1:12:03Ini kita pakai container base.

1:12:08Dan pakai portainer untuk ini ya.

1:12:13Untuk deploy-nya.

1:12:14nge-handle nge-handle service-service yang satu VPS doang situ begitulah menarik-menarik nah

1:12:29terakhir contoh lain yang contoh lain yang enggak terlalu enggak se tadi itu sih yang simple next js selama ini Mose orang mikir ada asumsi bahwa dimonopoli oleh versel kayak karena kalau

1:12:48kita kita depan ke versi orang gampang nih tinggal ketik aja deploy udah langsung semua apa server

1:12:55site-nya diurus sama Vercel semua ya karena emang itu punyanya Vercel dan kalau usagenya udah besar

1:13:03kita harus bayar ke Vercel tapi sebetulnya Next.js nya sendiri itu enggak login enggak terikat enggak

1:13:13kekunci sama Vercel karena bisa dideploy sendiri tapi orang kan selama ini asumsinya ribet ya kalau

1:13:20deploy next.js sendiri terutama buat server site sama itunya kan apa itu ISR dan blablabla

1:13:29nah biasanya orang solusinya pakai docker file jadi ya udah itu tinggal ikutin

1:13:36ya ini contohnya ya node versi 18 terus kita mau taruh filenya di folder apa

1:13:43kita copy package.json nya termasuk package.log nya ke slash

1:13:49kemudian jalanin npm install

1:13:53copy semua source code-nya

1:13:56buka port 3000

1:13:58jalanin npm run dev

1:14:00udah jalan untuk development ya

1:14:02ini khusus untuk development ya docker file-nya ya

1:14:04ada lagi turun-turun

1:14:06nah untuk

1:14:08ini gak penting

1:14:10untuk menjalankan pakai ini kan

1:14:11tapi kan ini

1:14:14buat itu doang

1:14:17buat development

1:14:18kalau ini multi stage

1:14:23multi stage itu maksudnya

1:14:26bisa membedakan

1:14:27production dan

1:14:29development

1:14:30jadi kalau misalkan kita

1:14:33yang mau jalanin yang production

1:14:36dia akan jalanin yang ini

1:14:37sampai ke

1:14:40mana sampai sini ya

1:14:41npm run start ya

1:14:42terus kalau mau ini

1:14:45untuk yang dev tadi ya sama ya

1:14:47untuk yang dev kurang lebih sama

1:14:49gitu

1:14:51jadi memudahkan kita

1:14:54untuk

1:14:55gak perlu install-install ya

1:14:58gak perlu install macam-macam di

1:14:59laptop kita

1:15:01bisa pakai docker

1:15:03bergantung kepada

1:15:05kebutuhan atau dependensi dari proyek kita

1:15:08jadi maksudnya kita gak terkunci

1:15:10harus pakai Vercel

1:15:12jadi misalnya kita di tempat kerja

1:15:14atau kita sendiri udah punya

1:15:15pakai layanan lain ya udah

1:15:18asal bisa deploy docker image

1:15:20sebetulnya relatif

1:15:22gak terlalu gak sesulit

1:15:24yang dibayangkan

1:15:25oke

1:15:28kalau begitu

1:15:28sebelum mudahan kita

1:15:31kesimpulan dulu kali ya docker itu apa

1:15:33docker itu adalah teknologi containerization

1:15:36untuk

1:15:37membuat

1:15:39memudahkan semua

1:15:41dependensi konfigurasi

1:15:43versi-versi dan settingan-settingan dalam suatu project bisa dipakai dari local machine bisa

1:15:52dideploy ke server server bahkan kita nggak perlu install macem-macem di laptop baru misalkan dapat

1:15:59laptop baru dari kantor nih baru masuk kantor dapat laptop nggak perlu install macem-macem pakai docker

1:16:04aja udah install docker iya iya tinggal install docker sih ya bener install docker terus habis itu masuk ke

1:16:12folder projectnya ada docker file tinggal docker build dan docker compose up dan lain-lain jadi

1:16:20kemudian ketika kita masuk ke project yang beda dengan dependency yang beda juga misalkan tadi

1:16:27PHP terus sekarang ke node juga bisa tinggal apa switch nggak perlu misal node dan lain versi berapa udah tinggal menggunakan spesifikasi yang udah disediakan sama docker file Itu kalau proyeknya sudah ada docker file Kalau belum ada kita buat

1:16:44Ya, bikin sendiri.

1:16:45Kayak tadi itu contohnya.

1:16:46Kayak tadi contohnya.

1:16:48Sumber belajarnya langsung ke dokumentasi docker-nya.

1:16:52Itu sudah sangat lengkap.

1:16:54Sama yang tadi docker-curriculum.com.

1:16:56Itu juga menarik.

1:16:58Ada lagi yang terlewat?

1:17:00Alternatifnya ada portman.

1:17:02Kemudian tadi kita sudah bahas beberapa tool seperti Docker Compose.

1:17:07Terus tadi ada port apa?

1:17:10Container.

1:17:11Container Management.

1:17:13Container Management.

1:17:14Dan terakhir kita belum bahas Dev Container yang bisa dijalankan di Codespace.

1:17:22Oh, Codespace-nya GitHub.

1:17:24Iya.

1:17:25Atau bisa dijalankan di VS Code.

1:17:28Jadi kalau ada, mau di-demoin sebentar.

1:17:32Boleh.

1:17:32boleh boleh dong kayak memasak

1:17:41catatan seorang demonstran demonstran kode ini contohnya di webpasky di github

1:17:53ada dev container nih dengan adanya ini aja dari si githubnya itu bisa jalanin

1:18:06oh dia otomatis baca ya otomatis ngerti

1:18:09otomatis baca bahwa ada code space

1:18:11dependensinya apa aja konfigurasinya gimana

1:18:14biar nanti sambil ngomong dia selesai

1:18:17oh jadi akan install dependensi yang dibutuhkan

1:18:21Iya

1:18:23Kok dia nge-freeze

1:18:26Dia

1:18:31Definitionnya kan ada di

1:18:33Devcontainer.json

1:18:35Definisi untuk

1:18:38Si PS Code sih sebenarnya lebih tepatnya

1:18:41PS Code

1:18:42Dan akan menjalankan

1:18:45Docker Compose YAML

1:18:47Ini

1:18:48Dimana Docker Compose

1:18:51yaml ini dia akan selalu kenapa begini Oke dokter kompos yaml ini menjalankan berapa dua service

1:19:08WordPress dan databasenya pakai Maria DB lalu kemasalah dia ngebilt titik ya bintik arti dia

1:19:18mencari dokter file dokter file ini wordpress.php 81 penghasil pakai debian kalau enggak salah atau

1:19:28bisa macem-macem yang enggak tahu dan terakhir di def konten itu saya pos create komen itu ngejalanin

1:19:35setup.sh jadi saya butuh kayak nge-setup npm brand build dan nge-setting database

1:19:46install WordPress nyala gitu ya dan aktif lagi nya Wow masih belum jadi

1:19:55otomatis build kan nih image file terus build container kok masa ini docker

1:20:03kalau sudah jalan tuh udah udah udah udah udah selesai tadaaah sudah jadi wah sudah sudah jadi

1:20:13lalu file-nya masih belum muncul sabar udah udah lalu ini harusnya dia muncul sesuatu di

1:20:27kamu masih liburan siang kali ya nah dan selesai saya webpay option get site url

1:20:40Oke not not initialize harus di ini Oh dia belum jalanin selesai jalanin ini saya

1:20:51itu udah jalan toko ya potnya udah jalan nih Oh sudah ini jadi langsung saya klik

1:21:00langsung jadi akses di Wow langsung bisa diakses uang dan dia ini saving saving time sama n-time

1:21:14sama energi berapa banyak ya zaman ini harus satu-satu install ini dia jalanin pos komennya

1:21:21ini set-up.es aneh ya dan ini baru selesai baru bisa udah selesai kalau saya refresh saya reload

1:21:36udah udah jalan pas udah jalan tuh paskinnya Oh iya tadi kelihatan

1:21:45mantap mantap sekali jadi bisa pakai def kontainer nah cara yang sama misalnya saya

1:22:03misalnya Mas Riza atau baiknya klon ini klon klon local buka buka di PS Code bilang eh ada

1:22:19defcontainer mau dirunning kalau dirunning kalau dan ada dokter atau kontainernya di

1:22:27di lokal terinstall dia akan setup dan langsung remote ke kontainer itu VS code-nya akan ngebuka

1:22:35di remote di dalam kontainer dan langsung bisa modding saat itu juga ya butuh kalau kecepatan

1:22:48internetnya oke ya 10 menit ya atau dengan sampai kecepatan si GitHubnya kan kecepatan banget dah

1:22:59dia menyedot image kalau dari lokal rasa kalau dari dari 4G Intinya Docker itu memudahkan kita untuk kerjasama

1:23:13sama untuk deployment juga.

1:23:16Walaupun mungkin awalnya dirana DevOps,

1:23:19tapi kita sebagai web developer, sebagai anak front-end,

1:23:22juga tetap butuh, karena masing-masing library

1:23:26atau masing-masing platform, kita butuh spesifik versi.

1:23:31mungkin kadang-kadang ada versi yang bahkan breaking change ya jadi dengan adanya dokter

1:23:36ini bisa solving problem yang tadi kita udah bahas dari mulai localhost VM dan lain-lain

1:23:41akhirnya sampai ke sini teknologi kontainer masih apa ya ke masih akan relevan dalam beberapa tahun

1:23:50ke depan kecuali ada malah inovasi mungkin ya malah tambah relevan karena set-up paket

1:23:57ribet versi-versi makin banyak ya dokernya sendiri mungkin bisa aja digantiin sama produk lainnya

1:24:03tapi kalau ya setiap kali tetap prinsipnya sama tetap sama

1:24:06Oke itu aja dari untuk malam ini terima kasih teman yang sudah nonton kalau ada saran atau ada topik silakan kesana slash ngobrolin salah itu ngobrolin web kesana slash ngobrolin web

1:24:29iya langsung hotfix ngobrolin web

1:24:32pantesan sepi ya

1:24:35ternyata salah

1:24:38oh jangan-jangan sepi gara-gara salah ya

1:24:42nggak ada nyoba sih ya sudah kalau gitu kalau ada sumur di ladang boleh kita menumpang mandi

1:24:49karena air mati ternyata bukan pantun air mati kalau

1:24:57siapa yang masih mandi di sumur

1:25:01kita ketemu lagi kalau ada sumur di ladang Mari kita menumpang mandi

1:25:12sampai jumpa minggu depan ya

1:25:15depan kita ketemu lagi sampai jumpa bye bye

1:25:31Terima kasih.

Suka episode ini?

Langganan untuk update episode terbaru setiap Selasa malam!

Langganan Sekarang

Episode Terkait

Ngobrolin React Server Component
EP 129

21 Mei 2025

Ngobrolin React Server Component

Yuk mari kita diskusi dan ngobrol ngalor-ngidul tentang dunia web. Agar tetap up-to-date dengan teknologi web terkini. ...

Toolkit Modern - Ngobrolin WEB
EP 145

23 Sep 2025

Toolkit Modern - Ngobrolin WEB

🗣️🕸️ Selasa malam waktunya #ngobrolinWEB! Malam ini akan membahas tentang alat bantu modern seperti vitest, unjs, roll...

Ngobrolin PHP - Ngobrolin WEB & @sandhikagalihWPU
EP 73

12 Mar 2024

Ngobrolin PHP - Ngobrolin WEB & @sandhikagalihWPU

Yuk mari kita diskusi dan ngobrol ngalor-ngidul tentang dunia web. Agar tetap up-to-date dengan teknologi web terkini. ...

Komentar