Ngobrolin Kontainer - Ngobrolin WEB
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 KoreksiEpisode 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
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!
Episode Terkait
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. ...
23 Sep 2025
Toolkit Modern - Ngobrolin WEB
🗣️🕸️ Selasa malam waktunya #ngobrolinWEB! Malam ini akan membahas tentang alat bantu modern seperti vitest, unjs, roll...
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. ...