Docker Fundamental
DOCKER FUNDAMENTAL
"Docker Fundamental oleh Adinusa.id"
Ditulis oleh : Fatih Athaillah Nugroho
Modul ini bertujuan untuk memperkenalkan peserta pada konsep
dasar kontainer. Di sini, peserta akan mempelajari apa itu kontainer, mengapa
kontainer menjadi sangat penting dalam pengembangan perangkat lunak modern,
serta contoh teknologi yang sudah menerapkan kontainer. Selain itu, modul ini juga
membahas perbandingan antara host, mesin virtual, dan kontainer, serta diskusi
mengenai platform yang mendukung kontainerisasi. Di akhir modul, peserta akan
mempersiapkan lingkungan lab untuk praktik lebih lanjut.
- Course Introduction:
Di bagian ini, peserta akan dikenalkan pada tujuan dan struktur keseluruhan
kursus, memberikan panduan tentang apa yang bisa diharapkan selama
pembelajaran.
- What Are Container?:
Modul ini menjelaskan secara mendetail tentang definisi kontainer, menjelaskan
bagaimana kontainer bekerja dan fungsinya dalam lingkungan pengembangan
perangkat lunak.
- Why Are Containers
Important?: Di sini, kita akan menggali alasan di balik pentingnya
kontainer dalam dunia teknologi saat ini, termasuk efisiensi dan skalabilitas
yang ditawarkannya.
- Example of
Containerized Technology: Peserta akan diperkenalkan dengan beberapa contoh
teknologi yang memanfaatkan kontainer, memberi mereka wawasan praktis tentang
penggunaannya.
- Host, Virtual Machine
and Container: Modul ini membandingkan kontainer dengan mesin virtual dan
host, menjelaskan perbedaan mendasar serta kelebihan masing-masing.
- Platform Discussion:
Diskusi tentang berbagai platform yang mendukung kontainerisasi, memberikan perspektif
tentang pilihan yang tersedia untuk pengembang.
- Lab 1.1 Preparation
of Lab Environment: Di akhir modul, peserta akan mempersiapkan lingkungan
lab untuk eksperimen praktis, memastikan mereka siap untuk penerapan yang lebih
lanjut.
Modul 2: Introduction to Docker
Modul ini memberikan pemahaman mendalam tentang Docker
sebagai platform kontainerisasi. Peserta akan dikenalkan pada berbagai produk
yang ditawarkan Docker, siklus rilis, serta informasi mengenai harga dan
langganan. Melalui latihan praktis, peserta akan belajar cara menginstal Docker
di sistem mereka dan menjalankan kontainer dengan berbagai cara, memberikan
dasar yang kuat untuk penggunaan Docker di masa depan.
- Docker Products:
Di sini, peserta akan diperkenalkan pada berbagai produk yang ditawarkan oleh
Docker, mencakup alat dan layanan yang dapat membantu dalam pengembangan
aplikasi.
- Docker Release
Cycle: Modul ini menjelaskan siklus rilis Docker, termasuk bagaimana
pembaruan dan fitur baru diperkenalkan secara berkala.
- Pricing &
Subscriptions: Menyediakan informasi penting mengenai harga dan berbagai
jenis langganan yang ditawarkan oleh Docker, membantu peserta memahami opsi
yang tersedia.
- Lab 2.1:
Installing Docker: Dalam latihan ini, peserta akan melakukan instalasi Docker
di sistem operasi mereka, langkah pertama untuk memulai dengan kontainer.
- Lab 2.2 - 2.4:
Docker Run: Peserta akan belajar cara menjalankan kontainer menggunakan
berbagai opsi, memberikan pengalaman langsung dalam penggunaan dasar Docker.
Modul 3: Managing Docker Container
Modul ini membahas cara mengelola kontainer Docker secara
efektif. Peserta akan mempelajari siklus hidup kontainer, termasuk pembuatan,
pengelolaan, dan penghapusan kontainer. Selain itu, modul ini juga akan
menjelaskan tentang registri publik dan privat, volume Docker untuk penyimpanan
data, serta jaringan dalam Docker. Latihan praktis akan membantu peserta
memahami konsep-konsep ini melalui pengelolaan volume dan konfigurasi jaringan.
- Managing the Life
Cycle of Containers - Part 1 & 2: Modul ini membahas cara efektif untuk
mengelola siklus hidup kontainer, dari pembuatan hingga penghapusan.
- Public Registry
& Private Registry: Di sini, peserta akan memahami perbedaan antara
registri publik dan privat, serta bagaimana cara mengelolanya.
- Docker Volume:
Peserta akan diperkenalkan pada konsep volume dalam Docker, yang penting untuk
menyimpan data persisten.
- Docker Network:
Memahami cara kerja jaringan dalam konteks Docker, serta bagaimana kontainer
berkomunikasi satu sama lain.
- Lab 3.1 - 3.6:
Latihan praktis yang mencakup mounting volume, pengaturan NFS, dan konfigurasi
jaringan, memberikan pemahaman yang lebih baik tentang pengelolaan kontainer.
Modul 4: Creating Custom Docker
Container Image
Pada modul ini, peserta akan belajar tentang cara membuat
gambar kontainer kustom. Modul ini mencakup pemahaman tentang gambar Docker,
registri gambar, dan cara memanipulasi gambar kontainer. Peserta akan diajarkan
untuk membangun gambar kustom menggunakan Dockerfile dan melakukan eksplorasi
lebih dalam tentang struktur Dockerfile. Latihan praktis akan memberikan
pengalaman langsung dalam membangun gambar dan memahami cara kerjanya.
- Docker Images:
Modul ini menjelaskan secara rinci tentang gambar Docker, bagaimana mereka
berfungsi, dan mengapa mereka penting.
- Docker Registry:
Peserta akan mempelajari tentang registri gambar, tempat di mana gambar Docker
disimpan dan dikelola.
- Manipulating
Container Images: Mengajarkan peserta cara memanipulasi gambar kontainer
untuk memenuhi kebutuhan spesifik mereka.
- Building Custom
Container Images with Dockerfile: Peserta akan belajar cara membangun
gambar kustom menggunakan Dockerfile, alat yang sangat berguna dalam
pengembangan.
- Lab 4.1 - 4.3:
Praktik eksplorasi Dockerfile dengan berbagai aplikasi, memungkinkan peserta
untuk memahami struktur dan fungsinya.
Modul 5: Docker Compose
Modul ini fokus pada Docker Compose, alat yang digunakan
untuk mengelola aplikasi multi-layanan. Peserta akan belajar bagaimana cara
menggunakan Docker Compose untuk menjalankan aplikasi yang terdiri dari
beberapa layanan dan membangun gambar dengan mudah. Melalui latihan praktis,
peserta akan memahami cara menjalankan aplikasi dengan Docker Compose dan
melakukan penskalaan layanan.
- Introducing Docker
Compose: Di bagian ini, peserta akan diperkenalkan pada Docker Compose,
alat yang memungkinkan pengelolaan aplikasi multi-layanan dengan lebih mudah.
- Running a
Multi-Service App: Menjelaskan cara menjalankan aplikasi yang terdiri dari
beberapa layanan, yang sangat umum dalam pengembangan modern.
- Lab 5.1: Using
Docker Compose: Peserta akan berlatih menggunakan Docker Compose untuk
mengelola aplikasi, memperkuat pemahaman mereka.
Modul 6: Docker Continuous
Integration (CI)
Modul ini menjelaskan bagaimana Docker dapat digunakan dalam
proses integrasi berkelanjutan (CI). Peserta akan mempelajari cara
mengintegrasikan Docker ke dalam alur kerja CI mereka dan memahami fitur
automated build di Docker Hub. Modul ini bertujuan untuk memberikan pemahaman
tentang bagaimana Docker dapat mempercepat dan menyederhanakan proses
pengembangan perangkat lunak.
- CI Using Docker:
Di sini, peserta akan mempelajari bagaimana mengintegrasikan praktik
pengembangan berkelanjutan dengan Docker.
- Docker Hub
Automated Build: Memperkenalkan fitur otomatisasi build di Docker Hub,
memungkinkan pengembang untuk mengotomatisasi proses build mereka.
Modul 7: Docker Swarm & Portainer
Di modul ini, peserta akan mempelajari tentang Docker Swarm,
fitur orkestrasi kontainer yang memungkinkan pengelolaan kontainer secara
terdistribusi. Selain itu, peserta juga akan diperkenalkan pada Portainer, alat
manajemen berbasis web untuk Docker. Latihan praktis akan membantu peserta
memahami cara membuat Swarm, menerapkan layanan, dan mengelola kontainer
menggunakan Portainer.
- Docker Swarm:
Peserta akan memahami konsep orkestrasi kontainer menggunakan Docker Swarm,
yang memungkinkan manajemen kontainer secara terdistribusi.
- Portainer for
Docker: Memperkenalkan Portainer sebagai alat manajemen berbasis web untuk
Docker, yang menyederhanakan pengelolaan kontainer.
- Lab 7.1 - 7.6:
Praktik yang mencakup berbagai aspek pengaturan Swarm dan Portainer, memberikan
pengalaman praktis yang berharga.
Modul 8: Logging Driver
Di modul ini, peserta akan mempelajari tentang Docker Swarm,
fitur orkestrasi kontainer yang memungkinkan pengelolaan kontainer secara
terdistribusi. Selain itu, peserta juga akan diperkenalkan pada Portainer, alat
manajemen berbasis web untuk Docker. Latihan praktis akan membantu peserta
memahami cara membuat Swarm, menerapkan layanan, dan mengelola kontainer
menggunakan Portainer.
- Logging Driver:
Memahami cara kerja driver logging dalam Docker, penting untuk pelacakan dan
pengelolaan log aplikasi.
- Lab 8.1:
Configuring Logging Driver: Peserta akan berlatih mengonfigurasi driver logging
untuk memenuhi kebutuhan spesifik.
Modul 9: Health Check
Di modul ini, peserta akan mempelajari tentang Docker Swarm,
fitur orkestrasi kontainer yang memungkinkan pengelolaan kontainer secara
terdistribusi. Selain itu, peserta juga akan diperkenalkan pada Portainer, alat
manajemen berbasis web untuk Docker. Latihan praktis akan membantu peserta
memahami cara membuat Swarm, menerapkan layanan, dan mengelola kontainer
menggunakan Portainer.
- Health Check:
Modul ini membahas pentingnya pemeriksaan kesehatan kontainer untuk memastikan
aplikasi berjalan dengan baik.
- Lab 9.1: Health
Check: Peserta akan menerapkan pemeriksaan kesehatan dalam kontainer mereka.
Modul 10: Security
Modul ini mengupas berbagai aspek keamanan yang terkait
dengan penggunaan Docker. Peserta akan mempelajari tentang praktik terbaik
untuk mengamankan kontainer, serta memahami CIS Docker Benchmark sebagai
panduan keamanan. Selain itu, modul ini juga membahas Secure Computing Mode dan
cara mengelola rahasia di dalam kontainer, memberikan wawasan yang berguna
untuk menjaga keamanan aplikasi.
- Docker Security:
Di sini, peserta akan mempelajari berbagai aspek keamanan yang terkait dengan
penggunaan Docker.
- CIS Docker
Benchmark: Memahami standar keamanan yang dapat digunakan untuk mengamankan
lingkungan Docker.
- Secure Computing
Mode: Menggali konsep mode komputasi aman dalam konteks Docker.
- Secret:
Mengajarkan cara mengelola informasi rahasia di dalam kontainer.
Modul 11: Storage Driver
Modul ini menjelaskan tentang berbagai jenis driver
penyimpanan dalam Docker dan bagaimana mereka berfungsi. Peserta akan belajar
cara mengonfigurasi driver penyimpanan untuk memenuhi kebutuhan aplikasi
mereka. Latihan praktis akan memberikan pengalaman dalam penggunaan dan
pengaturan driver penyimpanan yang tepat.
- Docker Storage
Drivers: Memperkenalkan berbagai driver penyimpanan yang tersedia dalam
Docker.
- Lab 11.1:
Configuring Storage Driver: Peserta akan berlatih mengonfigurasi driver
penyimpanan untuk memenuhi kebutuhan aplikasi mereka.
Modul 12: Logging and Error Handling
Modul ini membahas cara menangani log dan kesalahan dalam
konteks Docker. Peserta akan belajar tentang pentingnya logging untuk
pemeliharaan aplikasi dan cara melakukan pemeriksaan log untuk mendeteksi
masalah. Latihan praktis akan membantu peserta memahami cara efektif dalam
menangani log dan kesalahan.
- Logging and Error
Handling: Memahami cara menangani log dan kesalahan dalam konteks Docker,
penting untuk pemeliharaan aplikasi.
- Log Check:
Latihan praktis untuk memeriksa log guna mendeteksi dan menyelesaikan masalah.
Modul 13: Lab Challenge
Modul ini menawarkan tantangan praktis yang menguji
keterampilan peserta dalam berbagai area yang telah dipelajari. Peserta akan
dihadapkan pada tantangan untuk menggunakan Haproxy dengan Docker dan
menerapkan aplikasi Laravel menggunakan Docker. Tantangan ini dirancang untuk
memberikan pengalaman nyata dalam mengelola aplikasi berbasis kontainer.
- Challenge 1:
Haproxy With Docker: Tantangan ini menguji kemampuan peserta dalam menggunakan
Haproxy dalam lingkungan Docker.
- Challenge 2: Deploy Laravel with Docker (Hard): Tantangan yang lebih kompleks untuk menerapkan aplikasi Laravel menggunakan Docker, memberikan pengalaman nyata dalam pengelolaan aplikasi.
Secara keseluruhan, kursus "Docker Fundamental" ini menyediakan panduan komprehensif untuk memahami dan memanfaatkan teknologi kontainer dengan efektif. Dari pengenalan dasar tentang kontainer dan Docker, hingga pengelolaan kontainer, pembuatan gambar kustom, serta penerapan praktik terbaik dalam keamanan dan integrasi berkelanjutan, kursus ini membekali peserta dengan keterampilan praktis yang dapat diterapkan langsung dalam proyek nyata. Dengan pengetahuan yang diperoleh, peserta tidak hanya siap untuk menjadi praktisi Docker yang kompeten, tetapi juga lebih percaya diri dalam menghadapi tantangan dan peluang yang ada di dalam dunia pengembangan perangkat lunak dan infrastruktur teknologi yang terus berkembang.


Comments
Post a Comment