Docker mengubah cara kita mengemas, mendistribusikan, dan menjalankan aplikasi: dari laptop developer sampai cluster produksi. Pada Course ini, kita akan mempelajari Docker secara menyeluruh — mulai dari konsep container dan instalasi, Dockerfile dan optimasi build, storage serta jaringan, Docker Compose untuk aplikasi multi-service, keamanan dan observability, sampai deployment, CI/CD, dan orchestration.
Setiap topik dibedah dengan contoh perintah nyata, output yang realistis, dan penjelasan mekanisme di balik layar, lima proyek utuh di akhir course menyatukan seluruh materi menjadi aplikasi yang benar-benar berjalan.
Bab 1 Pengantar Docker
Kenali Docker, konsep container, sejarah singkatnya, dan ciri utama yang membuatnya menjadi standar industri.
Buka → # Masalah yang Diselesaikan DockerPahami masalah works on my machine, dependency hell, dan environment drift yang diselesaikan Docker lewat image.
Buka → # Container dan Virtual MachineBandingkan container dan virtual machine: hypervisor versus namespace, overhead, ukuran, dan kapan keduanya dipakai.
Buka → # Arsitektur DockerBedah arsitektur client-server Docker: CLI, REST API, dockerd, containerd, runc, dan registry.
Buka → # Docker Engine dan Docker DesktopBedakan Docker Engine dan Docker Desktop beserta komponen dan model distribusinya masing-masing.
Buka → # Image, Container, dan RegistryPahami relasi image berlapis, container dengan writable layer, dan registry sebagai gudang distribusi.
Buka → # Use Case DockerJelajahi enam skenario nyata pemakaian Docker: development, database lokal, CI/CD, microservices, batch job, dan demo.
Buka →Bab 2 Instalasi dan Konfigurasi
Bandingkan Docker Engine dan Docker Desktop di Linux, Windows, macOS, WSL, hingga remote host via context.
Buka → # Instalasi Docker di LinuxPasang Docker Engine dari repositori resmi Ubuntu dan Debian beserta plugin buildx dan Compose.
Buka → # Instalasi Docker DesktopPasang Docker Desktop di Windows dengan WSL 2, macOS, dan Linux beserta komponen bawaannya.
Buka → # Konfigurasi Docker EngineAtur daemon Docker lewat daemon.json: data-root, rotasi log, registry mirror, dan fitur engine.
Buka → # Konfigurasi Docker CLIKustomisasi docker CLI lewat config.json, context, dan environment variable seperti DOCKER_HOST.
Buka → # Verifikasi InstalasiPastikan instalasi Docker sehat dengan docker version, docker info, dan docker run hello-world.
Buka → # Mengatur Akses DockerKelola akses ke docker.sock, grup docker, dan koneksi remote yang aman dengan TLS atau SSH.
Buka → # Troubleshooting InstalasiAtasi delapan masalah instalasi paling umum: daemon mati, izin socket, WSL, hingga disk penuh.
Buka →Bab 3 Dasar Docker CLI
Pahami pola management command Docker, alias bentuk lama, flag global, dan cara memakai --help.
Buka → # docker help dan docker versionBaca output docker --help, docker version, dan docker info untuk mengenali lingkungan Docker.
Buka → # Memahami Docker ContextKelola banyak daemon Docker dari satu CLI dengan context dan DOCKER_HOST.
Buka → # Menjalankan Container PertamaJalankan hello-world dan container nginx pertama sambil membedah siklus pull-create-start.
Buka → # Melihat ContainerBaca docker ps, filter container berdasarkan status dan nama, serta format keluaran untuk skrip.
Buka → # Menghentikan dan Menjalankan ContainerKendalikan siklus hidup dengan stop, start, restart, kill, dan pause beserta sinyal di baliknya.
Buka → # Menghapus ContainerBersihkan container dengan rm dan prune, dan pahami writable layer yang ikut terbuang.
Buka → # Melihat Log ContainerBaca log dengan docker logs serta filter dengan --tail, --since, dan --timestamps.
Buka → # Menjalankan Perintah dalam ContainerMasuk ke container yang berjalan dengan docker exec dan sesi shell interaktif.
Buka → # Memahami Exit CodeBaca exit code container: konvensi 128+sinyal, kode umum, dan artinya bagi diagnosis.
Buka →Bab 4 Docker Image
Pahami image sebagai tumpukan layer read-only, writable layer, copy-on-write, dan sharing layer.
Buka → # Mencari ImageCari image di Docker Hub dengan docker search dan evaluasi kualitasnya sebelum dipakai.
Buka → # Menarik ImageTarik image dengan docker pull, pahami digest, unduhan layer paralel, dan rate limit Docker Hub.
Buka → # Melihat Image LokalBaca docker images, filter image, dan pahami IMAGE ID serta SIZE yang bisa menipu.
Buka → # Memahami Image TagBedah anatomi nama image, aturan tag dan digest, jebakan latest, dan varian alpine/slim.
Buka → # Image DigestPakai digest sha256 sebagai identitas immutable image untuk pull yang reproducible.
Buka → # Menghapus ImageHapus image dengan rmi dan image prune, dan pahami Untagged versus Deleted.
Buka → # Image Inspect dan HistoryBedah metadata image dengan docker image inspect dan riwayat layer dengan docker history.
Buka → # Menyimpan dan Memuat ImageDistribusikan image tanpa registry dengan docker save dan docker load.
Buka → # Membersihkan Resource ImageUkur dan bersihkan image, build cache, dan resource menganggur dengan docker system df dan prune.
Buka →Bab 5 Dockerfile
Tulis Dockerfile pertama untuk aplikasi Node dan bangun image dengan docker build.
Buka → # Struktur DockerfileKenali anatomi Dockerfile, peta instruksi lengkap, parser directive, dan blok logisnya.
Buka → # COPY dan ADDSalin berkas ke image dengan COPY, kenapa ADD hampir selalu dihindari, dan flag modernnya.
Buka → # ENV dan ARGAtur variabel di image dengan ENV dan parameter build dengan ARG beserta jebakan kebocorannya.
Buka → # CMD dan ENTRYPOINTTentukan perilaku container dengan CMD dan ENTRYPOINT, shell form versus exec form.
Buka → # EXPOSE dan PortDokumentasikan port dengan EXPOSE dan pahami hubungannya dengan port publishing.
Buka → # WORKDIR dan USERAtur direktori kerja dan identitas user di image dengan WORKDIR dan USER.
Buka → # VOLUME dan LABELDokumentasikan titik data dengan VOLUME dan metadata image dengan LABEL standar OCI.
Buka → # HEALTHCHECKTanam pemeriksaan kesehatan pada image dengan HEALTHCHECK agar status container lebih jujur.
Buka → # Instruksi LanjutanKuasai instruksi lanjutan Dockerfile: STOPSIGNAL, SHELL, ONBUILD, dan latihan menggabungkan semuanya.
Buka →Bab 6 Image Build dan Optimisasi
Bedah anatomi docker build, flag penting, dan output BuildKit langkah demi langkah.
Buka → # Build ContextPahami build context, kenapa seluruh isinya dikirim ke builder, dan cara menjinakkannya.
Buka → # .dockerignoreKecilkan context dan lindungi rahasia dengan pola .dockerignore yang tepat.
Buka → # Build CacheMaksimalkan cache layer BuildKit dengan urutan instruksi yang benar dan ukur dampaknya.
Buka → # Multi-Stage BuildPisahkan tahap build dan runtime dengan multi-stage build hingga image menyusut puluhan kali.
Buka → # Buildx dan BuildKitKenali builder modern Docker: buildx, driver, build multi-platform, dan kemampuan BuildKit.
Buka → # Cache MountPercepat instalasi dependensi dengan RUN --mount=type=cache tanpa membebani layer image.
Buka → # Secret dan SSH MountBangun image yang butuh token dan SSH tanpa meninggalkan jejaknya di layer.
Buka → # Target PlatformBangun image untuk arsitektur lain dengan --platform, QEMU, dan cross-compile.
Buka → # Mengurangi Ukuran ImageTerapkan tujuh strategi mengecilkan image dari pemilihan base sampai pembersihan apt.
Buka → # Reproducible BuildBangun image yang identik bit-per-bit dengan pin digest, SOURCE_DATE_EPOCH, dan provenance.
Buka →Bab 7 Konfigurasi Container
Timpa perintah bawaan container saat docker run untuk kebutuhan satu kali.
Buka → # Environment VariableSet konfigurasi aplikasi lewat -e dan --env-file beserta pola penamaan yang aman.
Buka → # User dan PermissionsJalankan container sebagai user tertentu dengan --user dan pahami izin berkas yang mengikutinya.
Buka → # Port PublishingTerbitkan port container ke host dengan -p: format lengkap, alamat IP, dan rentang port.
Buka → # Working DirectoryAtur direktori kerja container dengan -w agar path konsisten antar perintah.
Buka → # Restart PolicyAtur kebijakan bangkit otomatis container: no, on-failure, always, dan unless-stopped.
Buka → # Resource LimitPahami konsep limit dan reservasi resource, cgroups, dan noisy neighbor di satu host.
Buka → # CPU dan Memory LimitTerapkan limit CPU dan memory dengan --cpus dan --memory beserta uji OOM killer.
Buka → # Container Init ProcessKelola masalah PID 1 dengan --init dan aplikasi yang menangani sinyal dengan benar.
Buka → # Lifecycle ContainerPetakan seluruh state container dan perintah transisinya dari Created sampai Removed.
Buka →Bab 8 Penyimpanan Data
Bedah writable layer container, copy-on-write, docker diff, dan batasannya menyimpan data.
Buka → # Konsep PersistencePahami mengapa data harus hidup lebih lama dari container dan tiga jenis mount yang tersedia.
Buka → # VolumeKelola data persisten dengan named volume, mekanisme penyimpanan yang paling direkomendasikan Docker.
Buka → # Bind MountMount direktori host ke container untuk live-edit konfigurasi dan source code.
Buka → # tmpfs MountSimpan data sementara di memori dengan tmpfs untuk cache dan data sensitif.
Buka → # Memilih Jenis MountPutuskan volume, bind mount, atau tmpfs dengan tabel perbandingan dan skenario nyata.
Buka → # Mount Read-OnlyLindungi berkas dengan mount :ro dan kombinasi --read-only plus tmpfs.
Buka → # Backup dan Restore VolumeCadangkan dan pulihkan volume dengan pola helper container dan tar.
Buka → # Migrasi Data ContainerPindahkan data antar host dan antar jenis mount tanpa kehilangan berkas.
Buka → # Permission dan Ownership VolumeAtasi konflik UID/GID antara container dan volume dengan lima pola solusi.
Buka →Bab 9 Jaringan Container
Pahami network namespace, veth, bridge docker0, NAT, dan peta enam driver jaringan.
Buka → # Bridge NetworkBedah default bridge 172.17.0.0/16, port publishing di balik layar, dan kelemahannya.
Buka → # Host NetworkPakai jaringan host langsung tanpa NAT: konsekuensi, use case, dan batas platformnya.
Buka → # None NetworkIsolasi total dengan --network none untuk batch job dan uji keamanan.
Buka → # Membuat Custom NetworkBuat user-defined bridge dengan subnet khusus, IP statis, dan embedded DNS.
Buka → # Container DNSBedah DNS internal 127.0.0.11, nama container, alias, dan resolusi DNS eksternal.
Buka → # Komunikasi Antar ContainerSambungkan container lewat nama, uji dengan curl dan nc, serta alamat khusus ke host.
Buka → # Port MappingKuasai pemetaan port -p dan docker port: verifikasi pemetaan dan debug kegagalannya.
Buka → # Network AliasBeri banyak nama ke satu container dengan --network-alias dan round-robin DNS.
Buka → # Network InspectBedah metadata jaringan lengkap dan ekstrak IP container dengan --format.
Buka → # Troubleshooting NetworkAtasi lima masalah jaringan container paling umum dengan resep diagnosis berurutan.
Buka →Bab 10 Docker Compose
Kenalkan docker compose: dari deretan docker run panjang ke satu berkas deklaratif.
Buka → # Struktur compose.yamlBedah blok top-level compose.yaml, aturan indentasi, dan validasi dengan compose config.
Buka → # ServicePahami service sebagai cetakbiru container beserta kunci konfigurasinya yang paling sering dipakai.
Buka → # Image, Build, dan PullKelola sumber image service: image siap pakai, build dari Dockerfile, dan pull policy.
Buka → # Port dan NetworkAtur ports, expose, dan network antar service di compose.yaml.
Buka → # Volume dan Bind MountPersistikan data service dengan volume bernama dan bind mount di compose.yaml.
Buka → # Environment dan env FileKelola environment variable service lewat environment, env_file, dan interpolasi .env.
Buka → # depends_on dan Startup OrderAtur urutan start service dengan depends_on dan kondisi kesehatannya.
Buka → # Healthcheck dan Service ReadinessPastikan service benar-benar siap dengan healthcheck di compose.yaml.
Buka → # Config dan SecretSuntikkan berkas konfigurasi dan rahasia ke service dengan configs dan secrets.
Buka → # ProfilesAktifkan service opsional per skenario dengan compose profiles.
Buka → # Variable InterpolationParametrisasi compose.yaml dengan ${VAR}, nilai default, dan pesan error yang jelas.
Buka → # Compose WatchSinkronkan source code ke container dan rebuild otomatis dengan develop.watch.
Buka → # Menjalankan dan Mengelola StackKendalikan stack dengan up, ps, logs, exec, down, dan scale sehari-hari.
Buka → # Compose Override dan EnvironmentPisahkan konfigurasi dev dan produksi dengan file override dan aturan mergenya.
Buka →Bab 11 Aplikasi Multi-Container
Rancang aplikasi terpecah menjadi service: alasan, pola komunikasi, dan stateless versus stateful.
Buka → # Reverse ProxySatukan pintu masuk lewat nginx reverse proxy: routing path dan penerusan header.
Buka → # Application dan DatabaseSambungkan aplikasi stateless ke PostgreSQL: DNS service, migrasi, dan connection pool.
Buka → # Cache dan QueueTambahkan Redis sebagai cache dan antrian: pola cache-aside dan decoupling.
Buka → # Service DiscoveryPahami DNS Compose sebagai service discovery lokal dan retry dengan backoff.
Buka → # Startup dan DependencyKelola urutan hidup stack: depends_on berlapis, healthcheck, dan service migrasi one-shot.
Buka → # Graceful ShutdownMatikan stack dengan sopan: SIGTERM, stop_grace_period, dan penanganan sinyal aplikasi.
Buka → # Local Development StackBangun lingkungan development lengkap: hot reload, database seed, dan tooling pendukung.
Buka →Bab 12 Docker dan Database
Jalankan PostgreSQL di container: environment wajib, volume data, dan klien psql.
Buka → # Menjalankan MySQLJalankan MySQL 8 di container: environment MYSQL_*, healthcheck, dan klien mysql.
Buka → # Menjalankan MariaDBJalankan MariaDB sebagai padanan MySQL dengan environment MARIADB_*-nya.
Buka → # Menjalankan RedisJalankan Redis di container: batas memori, persistensi, dan klien redis-cli.
Buka → # Persistensi DatabaseBuktikan data database bertahan melewati siklus hidup container dengan volume.
Buka → # Inisialisasi DatabaseInisialisasi skema dan data awal dengan docker-entrypoint-initdb.d dan service one-shot.
Buka → # Backup DatabaseCadangkan database dalam container dengan pg_dump dan mysqldump yang benar.
Buka → # Restore DatabasePulihkan database dari file dump dengan pola exec -i dan verifikasi hasilnya.
Buka → # Migrasi Versi DatabaseKelola perubahan skema dengan tabel pencatat migrasi dan upgrade versi image database.
Buka →Bab 13 Docker dalam Pengembangan
Rancang alur kerja harian bercontainer: siklus edit-rebuild-test tanpa friksi.
Buka → # Bind Mount Source CodeMount source code ke container dan jalankan toolchain di dalamnya.
Buka → # Hot ReloadSinkronkan perubahan kode langsung ke container dengan bind mount dan watch mode.
Buka → # Development DependenciesKelola dependensi dev versus produksi: target stage, image terpisah, dan volume node_modules.
Buka → # Development dan Production ImagePisahkan kebutuhan image dev dan produksi dengan multi-stage dan target berbeda.
Buka → # Debugging ContainerDebug aplikasi dalam container: exec, log, file konfigurasi, dan tool sementara.
Buka → # Menjalankan Test di ContainerJalankan unit dan integration test di container dengan profile khusus dan database tmpfs.
Buka → # Mengelola Environment DevelopmentKelola environment personal dan tim: profile, file lokal, dan kebersihan resource.
Buka →Bab 14 Keamanan Docker
Pahami lima lapisan isolasi container dan prinsip least privilege beserta defense in depth.
Buka → # Menjalankan Container Non-RootTurunkan privilege dengan USER di Dockerfile dan --user saat runtime.
Buka → # Linux CapabilitiesPecah privilege root dengan capabilities: drop ALL lalu tambah seperlunya.
Buka → # Privileged ContainerPahami apa yang dilepas --privileged, kenapa harus dihindari, dan alternatifnya.
Buka → # Read-Only FilesystemKunci filesystem container dengan --read-only plus tmpfs untuk area tulis terkendali.
Buka → # Seccomp, AppArmor, dan SELinuxBatasi syscall dengan seccomp dan pahami profil LSM bawaan Docker beserta kustomisasinya.
Buka → # Secret ManagementKelola rahasia enam tingkat dari hardcode sampai secret manager beserta rotasinya.
Buka → # Image ScanningPindai kerentanan image dengan Docker Scout dan Trivy serta baca hasilnya dengan bijak.
Buka → # Image ProvenanceBuktikan asal-usul image dengan provenance, SBOM, dan tanda tangan cosign.
Buka → # Supply Chain SecurityAmankan rantai pasok image dari source, dependensi, base image, CI, sampai registry.
Buka → # Docker Socket SecurityPahami risiko memasang docker.sock dan pola aman socket-proxy serta rootless.
Buka →Bab 15 Registry dan Distribusi
Pahami registry, repository, manifest, dan alur push-pull di balik layar.
Buka → # Docker HubKenali Docker Hub: official images, verified publisher, dan rate limit-nya.
Buka → # Membuat RepositoryBuat repository di Docker Hub untuk image publik maupun privat.
Buka → # Login dan AuthenticationAutentikasi ke registry dengan docker login, personal access token, dan credential store.
Buka → # Tagging ImageBeri nama image dengan benar: docker tag, alias, multi-tag, dan makna latest.
Buka → # Push dan Pull ImageDistribusikan image dengan docker push dan docker pull lintas mesin dan tim.
Buka → # Private RegistryBangun registry privat sendiri dengan registry:2, TLS, dan autentikasi htpasswd.
Buka → # Registry MirrorPercepat pull dan legakan rate limit dengan pull-through cache registry mirror.
Buka → # Strategi Versioning ImageRancang strategi tag yang reproducible: semver, git SHA, dan kebijakan mutasi.
Buka →Bab 16 Observability dan Troubleshooting
Kuasai docker logs: driver logging, format internal, dan log terstruktur aplikasi.
Buka → # Docker InspectBedah metadata container dan image dengan docker inspect plus Go template.
Buka → # Docker StatsPantau konsumsi resource container secara langsung dengan docker stats.
Buka → # Docker EventsSaksikan kejadian daemon secara langsung dengan docker events dan filternya.
Buka → # Container HealthBaca status healthcheck container dan reaksi Docker terhadap container unhealthy.
Buka → # Membaca Container ExitDiagnosis container mati: exit code, State, dan rantai ps-inspect-logs-events.
Buka → # Debugging NetworkResep tujuh langkah diagnosis jaringan container dari dalam ke luar.
Buka → # Debugging StorageDiagnosis masalah disk, mount, dan data hilang pada container.
Buka → # Mengatasi Build GagalBaca error BuildKit dengan benar dan sembuhkan build gagal secara sistematis.
Buka → # Mengatasi Container CrashTangani crash loop: bedah penyebab umum dan jinakkan restart policy.
Buka → # Strategi DiagnostikRangkai semua alat diagnosis menjadi kerangka lima langkah yang bisa diulang.
Buka →Bab 17 Manajemen Resource
Kendalikan CPU container: --cpus, cpu-shares, cpuset, dan reservasi untuk penjadwal.
Buka → # Memory Limit dan SwapKendalikan memori container: limit, reservasi, swap, dan perilaku OOM killer.
Buka → # PIDs Limit dan UlimitBatasi jumlah proses dan nilai ulimit container untuk mencegah fork bomb.
Buka → # IO dan Block LimitBatasi throughput dan IOPS perangkat blok container dengan flag blkio.
Buka → # Docker UpdateUbah limit container yang sedang berjalan dengan docker update tanpa recreate.
Buka → # Resource di ComposeTerapkan limit resource pada service compose dan atur resource Docker Desktop.
Buka → # Resource di SwarmPakai deploy.resources agar penjadwal Swarm menaruh service di node yang tepat.
Buka → # Overcommit dan Noisy NeighborPahami apa yang terjadi saat total limit melebihi kapasitas host dan cara menakarnya.
Buka → # Monitoring ResourceBangun pemantauan tren resource: file cgroup, stats, dan ambang peringatan.
Buka → # Mengelola Resource di ProduksiRight-sizing container produksi: pengukuran, reservasi, dan biaya cloud.
Buka →Bab 18 Deployment dan Production
Siapkan image produksi: multi-stage, non-root, digest, label OCI, dan audit ukuran.
Buka → # Konfigurasi ProductionKelola konfigurasi lintas environment dengan env file dan fail-fast saat startup.
Buka → # Secrets dan EnvironmentKelola rahasia produksi dengan compose secrets, secret manager, dan rotasi terjadwal.
Buka → # Healthcheck dan Restart PolicyRancang lapisan ketahanan produksi: healthcheck image, restart policy, dan kombinasinya.
Buka → # Reverse Proxy dan TLSTerminasi TLS di nginx reverse proxy dengan sertifikat ACME dan perpanjangan otomatis.
Buka → # Persistent Storage ProductionPilih strategi storage produksi: volume berlabel, driver jaringan, dan data-root terpisah.
Buka → # Logging ProductionAtur log produksi: driver local, rotasi terukur, log terstruktur, dan korelasi antar service.
Buka → # Backup dan RecoveryBangun strategi backup 3-3-1, uji restore secara berkala, dan siapkan runbook pemulihan.
Buka → # Update dan RollbackRilis versi baru dengan aman: pull-up, blue-green, dan rollback yang teruji.
Buka → # Docker di VPSDeploy stack ke VPS: hardening awal, instalasi, verifikasi, dan pemeliharaan berkala.
Buka → # Checklist ProductionAudit kesiapan produksi dengan checklist tujuh kategori yang bisa dieksekusi.
Buka →Bab 19 CI/CD dan Automation
Pahami bagaimana container mengubah pipeline CI/CD menjadi deterministik dan dapat dipindahkan.
Buka → # Automated Image BuildPilih jalur build otomatis: CI build, automated build registry, dan webhook.
Buka → # GitHub ActionsBangun workflow GitHub Actions untuk build dan push image ke GHCR.
Buka → # Build, Test, dan PublishRangkai pipeline multi-job: test dengan service database, build, scan, dan deploy.
Buka → # Build Cache di CI/CDPercepat pipeline dengan cache registry dan cache gha beserta risiko poisoning-nya.
Buka → # Image Scanning di CI/CDPasang gerbang keamanan image di pipeline dengan exit-code policy yang jelas.
Buka → # Version TaggingHitung tag image otomatis dari keadaan Git dengan metadata-action.
Buka → # Deployment AutomationOtomatiskan deploy ke server: pola SSH, mirror registry, smoke test, dan rollback.
Buka →Bab 20 Orchestration dan Ekosistem
Kenali lima batasan fundamental Compose dan kapan waktunya pindah orchestrator.
Buka → # Pengantar Container OrchestrationPahami pekerjaan orchestrator: desired state, reconciliation loop, dan scheduling.
Buka → # Docker SwarmBangun cluster Swarm: init, join, service, routing mesh, dan stack deploy.
Buka → # Konsep KubernetesTerjemahkan kosakata Docker ke Kubernetes: pod, deployment, service, dan kubectl.
Buka → # Container RuntimePahami lapisan runtime di bawah Docker: standar OCI image dan runtime, serta CRI.
Buka → # containerd dan runcTelusuri rantai docker run sampai runc: shim, snapshotter, dan debugging lebih dalam.
Buka → # Memilih Platform OrchestrationPutuskan Compose, Swarm, atau Kubernetes dengan kerangka keputusan yang jujur.
Buka →Bab 21 Proyek
Bangun dan sajikan situs web statis dengan nginx di dalam container, lengkap dengan gzip, cache, dan compose.
Lihat proyek → # Proyek: Aplikasi Go dan PostgreSQLBangun REST API katalog item dengan Go dan PostgreSQL: migrasi otomatis, healthcheck berlapis, multi-stage build, jaringan Compose, dan integration test dari dalam stack.
Lihat proyek → # Proyek: Aplikasi Rust dan PostgreSQLBangun REST API katalog dengan Rust: router axum, pool deadpool-postgres, migrasi startup, image multi-stage musl statis, dan integration test black-box dalam profile Compose.
Lihat proyek → # Proyek: WordPress dan MySQLBangun situs WordPress dengan MySQL dalam satu stack Compose tanpa Dockerfile: dua volume terpisah, healthcheck, kredensial .env, backup, dan disaster drill.
Lihat proyek → # Proyek: Reverse Proxy Multi-ServiceProyek penutup course: satukan dua service Python di belakang satu nginx reverse proxy dengan custom network Compose, lalu buktikan routing dan ketahanannya terhadap kegagalan parsial.
Lihat proyek →Bab 22 Referensi
Tabel rujukan perintah docker CLI yang dipakai di seluruh Course ini.
Buka → # Instruksi DockerfileTabel rujukan instruksi Dockerfile beserta bentuk, fungsi, dan contohnya.
Buka → # Kunci compose.yamlTabel rujukan kunci compose.yaml yang paling sering dipakai beserta nilainya.
Buka → # Container StateTabel rujukan state container, varian status docker ps, dan exit code.
Buka → # Network DriverTabel rujukan enam network driver dan alamat istimewa di dalamnya.
Buka → # Storage Driver dan SnapshotterTabel rujukan storage driver lawas dan snapshotter containerd di Engine modern.
Buka → # Environment VariableTabel rujukan environment variable image populer, Docker CLI, dan Compose.
Buka → # Error dan SolusiKamus lima belas pesan error Docker paling sering beserta penyebab dan solusinya.
Buka → # GlossaryKamus istilah Docker dari A sampai Z dalam definisi satu-dua kalimat.
Buka →Bab 23 Lampiran
Lembar contekan perintah docker CLI yang paling sering dipakai sehari-hari.
Buka → # Cheat Sheet DockerfileTiga template Dockerfile siap salin untuk aplikasi Node, Go, dan Python.
Buka → # Cheat Sheet Docker ComposeTemplate compose.yaml lengkap dan tabel perintah harian Compose.
Buka → # Konvensi Penulisan DockerfileAturan gaya penulisan Dockerfile yang rapi dan konsisten untuk tim.
Buka → # Struktur Project ContainerPola struktur folder project container tunggal, monorepo, hingga infrastruktur.
Buka → # Troubleshooting UmumSepuluh resep cepat mengatasi masalah Docker paling sering dijumpai.
Buka → # Checklist Keamanan29 butir audit keamanan container siap pakai dalam enam kategori.
Buka → # Sumber Belajar ResmiPeta dokumentasi resmi Docker dan ekosistemnya plus urutan membaca yang dianjurkan.
Buka →