Panduan Lengkap Memulai dengan Docker untuk Pemula
Apa itu Docker?
Oke, kawan-kawan! Jadi, Docker adalah sebuah platform yang memungkinkan kita untuk mengembangkan, mengirim, dan menjalankan aplikasi menggunakan container. Apa itu container? Bayangkan container seperti sebuah box yang di dalamnya ada semua hal yang diperlukan oleh aplikasi kamu untuk berjalan, seperti kode, runtime, libraries, dan system tools. Dengan container, kita bisa menjalankan aplikasi di mana saja dengan cepat dan konsisten, tanpa pusing-pusing dengan perbedaan konfigurasi di setiap mesin.
Kenapa Harus Pakai Docker?
- Portability: Aplikasi kamu bisa berjalan smooth di mana pun, baik di laptop, server, atau cloud, tanpa khawatir dependency yang berbeda-beda.
- Isolasi: Setiap container berjalan secara terisolasi, jadi gak bakal bentrok dengan aplikasi lain atau sistem host.
- Efficiency: Container gak perlu memboot ulang OS seperti virtual machine, jadi lebih hemat resource dan cepat.
- Scalability: Mudah banget nambah atau mengurangi container sesuai kebutuhan.
Langkah-langkah Memulai Docker
1. Instal Docker
Pertama-tama, kamu harus menginstal Docker di mesin kamu. Docker tersedia untuk berbagai OS seperti Windows, macOS, dan Linux.
- Windows dan macOS: Unduh Docker Desktop dari situs resmi Docker. Ikuti petunjuk instalasinya.
- Linux: Bisa pakai package manager distro kamu. Misalnya, di Ubuntu, kamu bisa insta pakai perintah:
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io
Setelah terinstal, buka terminal dan jalankan perintah berikut untuk cek versi Docker:
docker --version
Kalo muncul versinya, berarti Docker udah siap dipakai!
2. Hello World di Docker
Coba test Docker kamu dengan menjalankan image hello-world
:
docker run hello-world
Perintah ini akan pull image hello-world
dari Docker Hub dan menjalankannya di container. Kalo muncul pesan “Hello from Docker!”, berarti semuanya berjalan lancar.
3. Pull dan Run Image
Kamu bisa cari image yang tersedia di Docker Hub (https://hub.docker.com/). Misalnya, kita mau menjalankan container dari image Ubuntu:
docker pull ubuntu
docker run -it ubuntu /bin/bash
Perintah -it
akan membuat interactive terminal di dalam container Ubuntu. Coba masuk ke container dan lihatlah sekitar.
4. Buat Dockerfile
Untuk membuat aplikasi kamu sendiri ke dalam container, kamu butuh Dockerfile
. Dockerfile adalah sebuah script yang berisi instruksi untuk membangun image. Berikut contoh sederhananya:
Buat sebuah direktori baru untuk proyek kamu dan di dalamnya bikin file Dockerfile
:
# Gunakan base image dari node versi 14
FROM node:14
# Set direktori kerja di dalam container
WORKDIR /app
# Copy package.json dan package-lock.json ke dalam container
COPY package*.json ./
# Install dependencies
RUN npm install
# Copy seluruh file proyek ke dalam container
COPY . .
# Expose port 3000
EXPOSE 3000
# Jalankan aplikasi
CMD ["node", "app.js"]
File ini akan membuat image yang didasarkan pada image node:14
, menginstal dependencies, dan menjalankan aplikasi di port 3000.
5. Build Image dari Dockerfile
Buka terminal di direktori proyek kamu dan jalankan perintah:
docker build -t my-node-app .
Perintah ini akan membangun image dengan nama my-node-app
berdasarkan instruksi di Dockerfile.
6. Jalankan Container dari Image Kamu
Setelah image berhasil dibangun, kamu bisa menjalankan container dari image tersebut:
docker run -p 3000:3000 my-node-app
-p 3000:3000
berarti mapping port 3000 di host ke port 3000 di dalam container. Sekarang, aplikasi kamu bisa diakses di http://localhost:3000.
7. Cek Container yang Berjalan
Untuk melihat daftar container yang sedang berjalan, gunakan perintah:
docker ps
Kalo mau melihat semua container, termasuk yang udah berhenti, tambahkan -a
:
docker ps -a
8. Stop dan Remove Container
Kalo mau stop container, cari container ID dengan docker ps
, kemudian jalankan:
docker stop <container-id>
Untuk menghapus container, gunakan docker rm <container-id>
.
Tips dan Trik Tambahan
- Gunakan
.dockerignore
: Sama seperti.gitignore
, file ini bisa kamu gunakan untuk mengabaikan file atau direktori yang gak perlu di-copy ke dalam image. - Mount Volume: Supaya data tetap persistence, kamu bisa mount direktori host ke dalam container dengan
-v
.docker run -v /path/to/host:/app my-node-app
- Kirim Image ke Docker Hub: Setelah kamu puas dengan image, kamu bisa push ke Docker Hub supaya bisa digunakan di mesin lain atau dibagikan ke orang lain.
Semangat!
Nah, itu dia panduan dasar untuk pemula yang pengen coba Docker. Mulai dari instalasi, menjalankan container, sampai bikin image sendiri. Tentu, masih banyak lagi yang bisa kamu eksplor, seperti Docker Compose, Docker Swarm, dan lain-lain. Tapi, paling nggak dengan langkah-langkah di atas, kamu udah bisa mulai petualanganmu dengan Docker. Happy containerizing! 🐳