Dunia pengembangan perangkat lunak modern sangat mengandalkan konsistensi lingkungan, portabilitas aplikasi, dan efisiensi deployment. Di sinilah Docker dan Docker Compose memainkan peran krusial. Jika Anda seorang developer, baik itu web, mobile, AI, atau DevOps engineer yang bekerja di lingkungan Ubuntu, menguasai instalasi dan penggunaan kedua tools ini adalah sebuah keharusan.
Seringkali, masalah seperti “works on my machine” menjadi hambatayata dalam kolaborasi tim. Docker hadir sebagai solusi untuk mengemas aplikasi dan semua dependensinya ke dalam unit standar yang disebut container, memastikan aplikasi berjalan sama di mana pun ia di-deploy. Sementara itu, Docker Compose memungkinkan Anda mendefinisikan dan menjalankan aplikasi multi-container dengan satu perintah sederhana, sangat ideal untuk lingkungan pengembangan lokal atau staging.
Panduan ini akan membawa Anda langkah demi langkah melalui proses instalasi Docker Engine dan Docker Compose di sistem operasi Ubuntu. Kita akan membahas prasyarat, instalasi, verifikasi, hingga beberapa tips dasar untuk memulai. Tujuaya adalah memastikan Anda memiliki fondasi yang kokoh untuk mulai membangun, menguji, dan mendeploy aplikasi berbasis container.
Persiapan Sebelum Instalasi Docker dan Docker Compose
Sebelum kita memulai proses instalasi, ada beberapa hal penting yang perlu Anda persiapkan untuk memastikan kelancaran proses dan menghindari masalah yang tidak perlu.
Persyaratan Sistem
- Sistem Operasi Ubuntu: Panduan ini dibuat khusus untuk distribusi Ubuntu LTS (Long Term Support), seperti Ubuntu 20.04 (Focal Fossa) atau Ubuntu 22.04 (Jammy Jellyfish). Meskipun langkah-langkahnya mungkin serupa untuk versi Ubuntu lain atau distribusi Linux berbasis Debian, selalu disarankan untuk menggunakan versi LTS yang stabil.
- Akses Root atau Sudo: Anda memerlukan akses ke akun dengan hak istimewa sudo. Sebagian besar perintah instalasi akan memerlukan hak akses ini untuk memodifikasi konfigurasi sistem, menginstal paket, dan mengelola layanan.
- Koneksi Internet yang Stabil: Proses instalasi akan melibatkan pengunduhan paket-paket Docker dari repositori online. Pastikan koneksi internet Anda stabil untuk menghindari kegagalan pengunduhan.
- Ruang Disk Cukup: Meskipun Docker Engine dan Docker Compose tidak memakan banyak ruang, image Docker yang Anda unduh atau bangun dapat menghabiskan cukup banyak ruang disk. Pastikan Anda memiliki setidaknya beberapa gigabyte ruang kosong yang tersedia.
Pentingnya Mengupdate Sistem
Langkah pertama dan paling penting sebelum menginstal perangkat lunak baru adalah memastikan sistem operasi Anda terupdate. Ini tidak hanya memastikan bahwa Anda memiliki paket-paket terbaru dan perbaikan keamanan, tetapi juga dapat mencegah konflik dependensi yang mungkin muncul selama instalasi Docker. Update sistem akan menyinkronkan daftar paket Anda dengan repositori Ubuntu dan menginstal pembaruan yang tersedia.
Dengan persiapan yang matang ini, Anda siap untuk melangkah ke proses instalasi yang sebenarnya.
Langkah-langkah Install Docker Engine di Ubuntu
Docker Engine adalah komponen inti yang memungkinkan Anda membangun dan menjalankan container Docker. Proses instalasinya melibatkan penambahan repositori Docker ke sistem Anda, lalu menginstal paket-paket yang diperlukan. Ikuti langkah-langkah di bawah ini dengan cermat.
Langkah 1: Update Sistem dan Install Dependensi
Buka terminal Anda dan jalankan perintah berikut untuk memperbarui daftar paket dan menginstal paket yang diperlukan Docker agar dapat berkomunikasi dengan repositori HTTPS.
Perintah:
sudo apt update
sudo apt upgrade -y
sudo apt install ca-certificates curl gnupg lsb-release -y
sudo apt update: Memperbarui daftar paket yang tersedia dari repositori.sudo apt upgrade -y: Mengupgrade semua paket yang terinstal ke versi terbaru. Opsi-ysecara otomatis menjawab ‘yes’ untuk semua pertanyaan.sudo apt install ca-certificates curl gnupg lsb-release -y: Menginstal paket-paket esensial:ca-certificates: Memungkinkan sistem memverifikasi sertifikat SSL/TLS.curl: Digunakan untuk mentransfer data dengan URL, akan kita gunakan untuk mengunduh GPG key Docker.gnupg: Mengelola kunci GPG, digunakan untuk memverifikasi integritas paket Docker.lsb-release: Memberikan informasi tentang distribusi Linux, digunakan untuk mengidentifikasi versi Ubuntu Anda.
Langkah 2: Tambahkan GPG Key Resmi Docker
Untuk memastikan bahwa paket Docker yang Anda unduh asli dan tidak dimodifikasi, Anda perlu menambahkan kunci GPG resmi Docker ke sistem Anda. Ini memungkinkan sistem Anda memverifikasi tanda tangan digital dari paket Docker.
Perintah:
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo mkdir -p /etc/apt/keyrings: Membuat direktori/etc/apt/keyringsjika belum ada. Ini adalah lokasi standar untuk menyimpan kunci GPG untuk repositori APT.curl -fsSL ... | sudo gpg --dearmor -o ...: Mengunduh kunci GPG dari server Docker, kemudian mengubahnya ke format yang dapat digunakan oleh APT, dan menyimpaya di lokasi yang ditentukan.
Langkah 3: Tambahkan Repository Docker ke APT Sources
Setelah kunci GPG ditambahkan, Anda perlu memberitahu sistem Ubuntu di mana harus menemukan paket-paket Docker. Kita akan menambahkan repositori Docker stabil ke daftar sumber APT Anda.
Perintah:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- Perintah ini menambahkan baris baru ke file
/etc/apt/sources.list.d/docker.listyang mendefinisikan repositori Docker. $(dpkg --print-architecture): Secara otomatis mendeteksi arsitektur CPU sistem Anda (misalnya,amd64).signed-by=/etc/apt/keyrings/docker.gpg: Menentukan kunci GPG mana yang akan digunakan untuk memverifikasi paket dari repositori ini.$(lsb_release -cs): Secara otomatis mendeteksi nama kode distribusi Ubuntu Anda (misalnya,focaluntuk Ubuntu 20.04 ataujammyuntuk Ubuntu 22.04).stable: Menunjukkan bahwa kita ingin menggunakan repositori versi stabil.
Langkah 4: Install Docker Engine dan Containerd
Sekarang, setelah repositori ditambahkan, Anda dapat memperbarui daftar paket lagi dan menginstal Docker Engine serta containerd (runtime container standar industri yang digunakan Docker).
Perintah:
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin -y
sudo apt update: Memperbarui daftar paket setelah menambahkan repositori Docker baru.sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin -y: Menginstal komponen-komponen utama Docker:docker-ce: Docker Engine (Community Edition), daemon utama.docker-ce-cli: Docker Command Line Interface (CLI), digunakan untuk berinteraksi dengan Docker daemon.containerd.io: Runtime container, komponen yang mengelola siklus hidup container.docker-buildx-plugin: Plugin untuk fungsionalitas build multi-platform yang ditingkatkan.
Langkah 5: Verifikasi Instalasi Docker
Setelah instalasi selesai, penting untuk memverifikasi bahwa Docker berjalan dengan benar di sistem Anda. Anda bisa memeriksanya dengan melihat status layanan Docker dan menjalankan container “hello-world” sederhana.
Perintah:
sudo systemctl status docker
Anda seharusnya melihat output yang menunjukkan bahwa layanan Docker aktif dan berjalan (active (ruing)).
Output contoh (singkat):
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (ruing) since ...
Selanjutnya, jalankan container “hello-world” untuk menguji Docker.
Perintah:
sudo docker run hello-world
Jika instalasi berhasil, Anda akan melihat pesan yang kurang lebih seperti ini:
Output contoh:
Hello from Docker!
This message shows that your installation appears to be working correctly.
Pesan ini menunjukkan bahwa Docker telah berhasil menarik image “hello-world”, menjalankaya dalam sebuah container, dan mencetak outputnya.
Langkah 6: Manajemen Docker Tanpa Sudo (Opsional tapi Direkomendasikan)
Secara default, hanya pengguna root atau pengguna dalam grup docker yang dapat menjalankan perintah Docker. Menjalankan Docker dengan sudo setiap saat bisa merepotkan dan tidak selalu merupakan praktik terbaik keamanan. Anda dapat menambahkan pengguna Anda ke grup docker untuk menjalankan perintah Docker tanpa sudo.
Perintah:
sudo usermod -aG docker ${USER}
sudo usermod -aG docker ${USER}: Menambahkan pengguna saat ini (diwakili oleh variabel lingkungan${USER}) ke grupdocker. Opsi-aGberarti “append to group”.
Agar perubahan ini berlaku, Anda perlu logout dari sesi terminal Anda dan login kembali, atau Anda bisa menjalankan perintah newgrp docker. Setelah itu, Anda bisa mencoba menjalankan perintah docker run hello-world tanpa sudo.
Perintah:
docker run hello-world
Jika berhasil, Anda akan melihat output yang sama seperti sebelumnya, tetapi kali ini tanpa perlu sudo.
Langkah 7: Konfigurasi Docker untuk Otomatis Start saat Booting
Secara default, Docker mungkin sudah dikonfigurasi untuk memulai secara otomatis saat sistem boot. Namun, untuk memastikan, Anda dapat secara eksplisit mengaktifkan layanan Docker dan containerd.
Perintah:
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
Perintah ini akan memastikan bahwa Docker Engine dan runtime containerd akan secara otomatis memulai setiap kali sistem Anda di-boot. Ini sangat penting untuk server atau lingkungan development yang harus selalu siap.
Langkah-langkah Install Docker Compose di Ubuntu
Docker Compose adalah alat untuk mendefinisikan dan menjalankan aplikasi multi-container Docker. Dengan Compose, Anda menggunakan file YAML untuk mengkonfigurasi layanan aplikasi Anda. Kemudian, dengan satu perintah, Anda dapat membuat dan memulai semua layanan dari konfigurasi Anda.
Meskipun Docker kini menyediakan docker compose sebagai plugin CLI (bagian dari instalasi Docker Engine versi terbaru), banyak developer masih familiar dengan dan memilih untuk menginstal biner docker-compose mandiri (dengan tanda hubung). Panduan ini akan fokus pada instalasi biner docker-compose mandiri yang banyak digunakan.
Langkah 1: Download Docker Compose Binary
Kita akan mengunduh versi stabil terbaru dari Docker Compose langsung dari repositori GitHub-nya. Penting untuk selalu mengunduh versi terbaru untuk mendapatkan fitur dan perbaikan keamanan terbaru.
Pertama, kita akan mengambil versi terbaru secara dinamis.
Perintah:
DOCKER_COMPOSE_VERSION=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep -oP '"tag_name": "K[^"]+')
Perintah di atas akan menyimpaomor versi terbaru (misalnya, v2.24.5) ke dalam variabel lingkungan DOCKER_COMPOSE_VERSION.
Selanjutnya, unduh biner Docker Compose ke lokasi yang dapat dieksekusi oleh sistem Anda.
Perintah:
sudo curl -L "https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo curl -L "..." -o /usr/local/bin/docker-compose: Mengunduh biner Docker Compose.-L: Mengikuti redirect HTTP jika ada.$(uname -s): Mengambil nama kernel sistem (misalnya,Linux).$(uname -m): Mengambil arsitektur mesin (misalnya,x86_64atauaarch64). Ini memastikan Anda mengunduh biner yang sesuai dengan sistem Anda./usr/local/bin/docker-compose: Lokasi umum untuk menyimpan biner yang dapat dieksekusi secara global di Linux.
Langkah 2: Berikan Izin Eksekusi
Setelah mengunduh biner, Anda perlu memberinya izin eksekusi agar sistem dapat menjalankaya sebagai perintah.
Perintah:
sudo chmod +x /usr/local/bin/docker-compose
sudo chmod +x ...: Menambahkan izin eksekusi ke file Docker Compose.
Langkah 3: Verifikasi Instalasi Docker Compose
Untuk memastikan Docker Compose telah terinstal dengan benar dan dapat diakses dari PATH sistem Anda, jalankan perintah verifikasi versinya.
Perintah:
docker-compose --version
Anda akan melihat output yang menunjukkan versi Docker Compose yang terinstal, seperti ini:
Output contoh:
Docker Compose version v2.24.5
Jika Anda melihat output versi, berarti Docker Compose telah berhasil diinstal dan siap digunakan!
Memulai dengan Docker: Perintah Dasar
Setelah Docker Engine terinstal, mari kita lihat beberapa perintah dasar yang akan sering Anda gunakan dalam alur kerja pengembangan Anda.
-
docker pull [image_name]:[tag]Digunakan untuk mengunduh image Docker dari Docker Hub (repositori image Docker publik). Jika tag tidak ditentukan, tag
latestakan diunduh.Contoh:
docker pull ubuntu:22.04(Mengunduh image Ubuntu versi 22.04) -
docker run [OPTIONS] [image_name]:[tag] [COMMAND]Digunakan untuk membuat dan menjalankan container baru dari sebuah image.
-p [host_port]:[container_port]: Memetakan port dari container ke host Anda.-d: Menjalankan container dalam mode “detached” (di latar belakang).--name [container_name]: Memberikaama kustom pada container.
Contoh:
docker run -d -p 80:80 --name my-nginx nginx:latest(Menjalankan server Nginx di port 80) -
docker psMenampilkan semua container yang sedang berjalan.
-a: Menampilkan semua container, termasuk yang telah berhenti.
Contoh:
docker ps -a -
docker stop [container_id_atau_name]Menghentikan container yang sedang berjalan dengan ID atau namanya.
Contoh:
docker stop my-nginx -
docker rm [container_id_atau_name]Menghapus container yang telah berhenti. Anda tidak dapat menghapus container yang sedang berjalan.
Contoh:
docker rm my-nginx -
docker rmi [image_id_atau_name]:[tag]Menghapus image Docker dari sistem lokal Anda.
Contoh:
docker rmi nginx:latest -
docker exec -it [container_id_atau_name] bashMengeksekusi perintah di dalam container yang sedang berjalan. Opsi
-itmemungkinkan Anda berinteraksi dengan terminal container.Contoh:
docker exec -it my-nginx bash(Membuka shell bash di dalam container Nginx)
Memulai dengan Docker Compose: Contoh Sederhana
Docker Compose memungkinkan Anda mendefinisikan seluruh stack aplikasi Anda dalam satu file YAML. Mari kita buat contoh sederhana untuk menjalankan server Nginx.
Pertama, buat sebuah direktori baru untuk proyek Anda, lalu navigasikan ke dalamnya:
Perintah:
mkdir my-web-app
cd my-web-app
Kemudian, buat file baru bernama docker-compose.yml di dalam direktori tersebut dan isi dengan konfigurasi berikut:
Isi file docker-compose.yml:
version: '3.8'
services:
web:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
restart: always
Dalam contoh ini:
version: '3.8': Mendefinisikan versi format file Compose yang digunakan.services: Mendefinisikan layanan-layanan yang membentuk aplikasi Anda. Di sini, kita punya layananweb.image: nginx:latest: Menentukan image Docker yang akan digunakan untuk layanan ini (Nginx terbaru).ports: - "80:80": Memetakan port 80 di host Anda ke port 80 di dalam container Nginx.volumes: - ./nginx.conf:/etc/nginx/nginx.conf: Me-mount filenginx.confdari direktori lokal Anda ke dalam container Nginx. Ini memungkinkan Anda mengkustomisasi konfigurasi Nginx. Anda perlu membuat filenginx.confsederhana di direktori yang sama.restart: always: Konfigurasi container untuk selalu restart jika berhenti.
Sekarang, buat file nginx.conf sederhana di direktori my-web-app yang sama:
Isi file nginx.conf:
events {
worker_coections 1024;
}
http {
server {
listen 80;
server_name localhost;
location / {
return 200 'Hello from Docker Compose Nginx!n';
add_header Content-Type text/plain;
}
}
}
Ini adalah konfigurasi Nginx minimal yang akan merespons permintaan di port 80 dengan teks “Hello from Docker Compose Nginx!”.
Untuk menjalankan aplikasi Anda, cukup jalankan perintah berikut di direktori my-web-app:
Perintah:
docker-compose up -d
up: Membangun, (kembali) membuat, memulai, dan melampirkan ke container untuk layanan dalam filedocker-compose.yml.-d: Menjalankan container dalam mode detached (di latar belakang).
Sekarang, buka browser web Anda daavigasikan ke http://localhost. Anda seharusnya melihat pesan “Hello from Docker Compose Nginx!”.
Untuk menghentikan dan menghapus semua container, jaringan, dan volume yang dibuat oleh Docker Compose:
Perintah:
docker-compose down
Docker Compose sangat powerful untuk mengelola lingkungan pengembangan yang kompleks dengan banyak layanan, seperti aplikasi web dengan database, message queue, dan service laiya.
Tips Troubleshooting Umum
Meskipun proses instalasi Docker dan Docker Compose relatif mudah, terkadang Anda mungkin menghadapi masalah. Berikut adalah beberapa masalah umum dan cara mengatasinya:
-
“Permission denied” saat menjalankan perintah Docker
Gejala: Anda melihat pesan error seperti
Got permission denied while trying to coect to the Docker daemon socket.Penyebab: Ini terjadi jika pengguna Anda tidak memiliki izin untuk mengakses soket daemon Docker. Ini adalah masalah umum jika Anda belum menambahkan pengguna Anda ke grup
dockeratau perubahan belum berlaku.Solusi:
- Pastikan Anda telah menambahkan pengguna Anda ke grup
docker:sudo usermod -aG docker ${USER}. - Setelah menambahkan, Anda harus logout dan login kembali ke sesi terminal Anda (atau reboot sistem) agar perubahan grup berlaku. Atau, coba
newgrp docker.
- Pastikan Anda telah menambahkan pengguna Anda ke grup
-
“Caot coect to the Docker daemon”
Gejala: Pesan error seperti
Caot coect to the Docker daemon. Is the docker daemon ruing on this host?Penyebab: Daemon Docker mungkin tidak berjalan atau telah crash.
Solusi:
- Periksa status layanan Docker:
sudo systemctl status docker. - Jika tidak berjalan, mulai layanan:
sudo systemctl start docker. - Jika ada masalah, coba restart:
sudo systemctl restart docker. - Periksa log Docker untuk mencari tahu akar masalahnya:
sudo journalctl -u docker.service.
- Periksa status layanan Docker:
-
Docker Compose tidak ditemukan atau perintah
docker-composetidak dikenaliGejala: Setelah menginstal Docker Compose, saat Anda menjalankan
docker-compose --version, Anda mendapatkancommand not found.Penyebab:
- Biner Docker Compose tidak diunduh dengan benar.
- Izin eksekusi tidak diberikan.
- Lokasi biner tidak ada di PATH sistem Anda.
Solusi:
- Verifikasi apakah file
/usr/local/bin/docker-composeada:ls -l /usr/local/bin/docker-compose. - Pastikan izin eksekusi telah diberikan:
sudo chmod +x /usr/local/bin/docker-compose. - Pastikan
/usr/local/binada di variabel lingkungan PATH Anda:echo $PATH. Biasanya, ini sudah ada secara default. - Jika Anda menggunakan `docker compose` (dengan spasi) yang berasal dari `docker-compose-plugin`, pastikan plugin tersebut terinstal (
sudo apt install docker-compose-plugin).
-
Masalah Jaringan Container
Gejala: Container tidak dapat berkomunikasi satu sama lain atau dengan internet.
Penyebab: Konfigurasi jaringan yang salah, firewall yang memblokir, atau masalah DNS.
Solusi:
- Periksa jaringan Docker yang dibuat:
docker network ls. - Inspeksi jaringan tertentu:
docker network inspect [network_name]. - Pastikan port yang dipetakan (
-patau didocker-compose.yml) sudah benar. - Periksa aturan firewall (
ufw) di Ubuntu Anda. Mungkin Anda perlu membuka port tertentu.
- Periksa jaringan Docker yang dibuat:
FAQ (Frequently Asked Questions)
Apa perbedaan docker-compose dan docker compose (plugin)?
docker-compose (dengan tanda hubung) adalah biner Python mandiri yang sudah ada lebih lama. Ini adalah alat yang kita instal dalam panduan ini. Sedangkan docker compose (dengan spasi) adalah versi terbaru yang diimplementasikan sebagai plugin CLI untuk Docker Engine. Keduanya memiliki fungsionalitas yang sangat mirip, tetapi docker compose (plugin) terintegrasi lebih dalam dengan ekosistem Docker CLI dan merupakan arah masa depan yang direkomendasikan oleh Docker.
Bisakah Docker diinstal di OS lain selain Ubuntu?
Tentu saja! Docker tersedia untuk berbagai sistem operasi, termasuk Windows (melalui Docker Desktop atau WSL2), macOS (melalui Docker Desktop), dan distribusi Linux laiya seperti Debian, Fedora, CentOS, dan Arch Linux. Proses instalasi mungkin sedikit berbeda tergantung pada OS-nya, tetapi konsep dasarnya sama.
Bagaimana cara mengupdate Docker dan Docker Compose?
Untuk Docker Engine di Ubuntu, Anda cukup menjalankan perintah update paket APT yang sama: sudo apt update && sudo apt upgrade -y. Untuk Docker Compose (biner mandiri), Anda perlu mengulangi langkah pengunduhan biner terbaru dan memberikaya izin eksekusi.
Apa yang harus dilakukan jika saya mengalami masalah setelah mengikuti panduan ini?
Jika Anda menghadapi masalah, pertama-tama periksa kembali setiap langkah dalam panduan ini untuk memastikan tidak ada yang terlewat. Kemudian, lihat bagian Troubleshooting Umum di atas. Jika masalah masih berlanjut, cari pesan error yang spesifik di mesin pencari. Komunitas Docker sangat besar, dan kemungkinan besar orang lain pernah mengalami masalah serupa.
Apakah Docker Compose bisa dipakai untuk produksi?
Docker Compose sering digunakan untuk lingkungan pengembangan dan staging karena kemudahaya. Untuk lingkungan produksi skala besar, orkestrator container yang lebih canggih seperti Kubernetes atau Docker Swarm lebih direkomendasikan. Namun, untuk aplikasi skala kecil atau menengah dengan kebutuhan yang tidak terlalu kompleks, Docker Compose tetap bisa menjadi pilihan yang valid, terutama jika diintegrasikan dengan solusi monitoring dan manajemen yang tepat.
Kesimpulan
Selamat! Anda telah berhasil menginstal Docker Engine dan Docker Compose di sistem Ubuntu Anda. Ini adalah langkah fundamental yang akan membuka pintu ke dunia containerization yang efisien dan modern. Dengan Docker, Anda dapat memastikan bahwa aplikasi Anda berjalan secara konsisten di setiap lingkungan, dari mesin pengembangan Anda hingga server produksi.
Docker Compose, di sisi lain, menyederhanakan pengelolaan aplikasi multi-container yang kompleks, menjadikaya alat yang tak ternilai bagi setiap developer yang ingin merampingkan alur kerja mereka. Anda kini memiliki kemampuan untuk mendefinisikan seluruh stack aplikasi Anda dalam file YAML yang mudah dikelola, memungkinkan setup lingkungan yang cepat dan berulang.
Perjalanan Anda dengan Docker tidak berhenti di sini. Luangkan waktu untuk bereksperimen dengan perintah-perintah dasar Docker, pelajari lebih dalam tentang Dockerfile untuk membangun image kustom, dan eksplorasi lebih jauh potensi Docker Compose untuk proyek-proyek Anda. Kemampuan containerization adalah keahlian yang sangat dicari di industri teknologi saat ini, dan Anda baru saja mengambil langkah besar untuk menguasainya. Selamat berkarya dengan Docker!