Cara Instalasi dan Konfigurasi Docker & Docker Compose di Debian
Cara Instalasi dan Konfigurasi Docker & Docker Compose di Debian. Ingin menjalankan aplikasi tanpa repot mengatur dependensi? Docker dan Docker Compose adalah jawabannya! Docker memungkinkan kamu menjalankan aplikasi dalam container yang ringan, sementara Docker Compose menyederhanakan manajemen multi-container. Di Debian, proses instalasi dan konfigurasinya sangat mudah, bahkan untuk pemula. Artikel ini akan memandu kamu langkah demi langkah, lengkap dengan praktik terbaik dan contoh kasus menjalankan aplikasi web sederhana. Yuk, mulai petualanganmu dengan Docker!
Apa Itu Docker dan Docker Compose?
Docker adalah platform untuk menjalankan aplikasi dalam container, lingkungan terisolasi yang berisi aplikasi dan dependensinya. Docker Compose adalah alat untuk mendefinisikan dan menjalankan beberapa container menggunakan file YAML. Keduanya ideal untuk pengembangan, pengujian, dan produksi.
Mengapa Menggunakan Docker di Debian?
- Konsistensi: Aplikasi berjalan sama di semua lingkungan.
- Efisiensi: Container lebih ringan dibandingkan VM.
- Skalabilitas: Mudah kelola banyak container.
- Kemudahan: Docker Compose menyederhanakan konfigurasi.
Prasyarat
Siapkan:
- Debian 11/12.
- Akses root/sudo.
- Koneksi internet.
- Terminal (SSH/lokal).
- Pengetahuan dasar Linux.
Langkah-Langkah Instalasi dan Konfigurasi
Kami akan menjalankan aplikasi web Nginx dengan MySQL sebagai contoh.
Langkah 1: Perbarui Sistem
- Jalankan:
sudo apt update && sudo apt upgrade -y
Langkah 2: Instalasi Docker
- Tambahkan Dependensi:
sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release
- Tambahkan Kunci GPG:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
- Tambahkan Repositori:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- Instal Docker:
sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io
- Verifikasi:
sudo docker --version sudo docker run hello-world
Langkah 3: Konfigurasi Non-Root
- Tambahkan pengguna ke grup docker:
sudo usermod -aG docker $USER
- Logout dan login kembali, uji:
docker run hello-world
Langkah 4: Instalasi Docker Compose
- Unduh Docker Compose:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
- Beri Izin:
sudo chmod +x /usr/local/bin/docker-compose
- Verifikasi:
docker-compose --version
Langkah 5: Uji Docker Compose
- Buat direktori:
mkdir my-app && cd my-app
- Buat
docker-compose.yml
:version: '3' services: web: image: nginx:latest ports: - "8080:80"
- Jalankan:
docker-compose up -d
- Akses
http://localhost:8080
.
Langkah 6: Hentikan
- Hentikan:
docker-compose down
Praktik Terbaik
Praktik | Deskripsi |
---|---|
Gunakan Repositori Resmi | Instal dari sumber tepercaya. |
Batasi Akses | Hanya pengguna tepercaya di grup docker. |
Perbarui Rutin | Jalankan apt update secara berkala. |
Tentukan Versi | Gunakan versi image spesifik. |
Backup | Simpan docker-compose.yml di Git. |
Contoh Kasus: Aplikasi Web
Jalankan Nginx dan MySQL:
- Instal Docker dan Docker Compose.
- Buat direktori
my-web
:mkdir my-web && cd my-web
- Buat
docker-compose.yml
:version: '3' services: web: image: nginx:latest ports: - "8080:80" volumes: - ./html:/usr/share/nginx/html db: image: mysql:8.0 environment: MYSQL_ROOT_PASSWORD: mysecretpassword volumes: - db-data:/var/lib/mysql volumes: db-data:
- Buat halaman web:
mkdir html && echo "<h1>Selamat Datang!</h1>" > html/index.html
- Jalankan:
docker-compose up -d
- Akses
http://localhost:8080
dan uji MySQL:docker exec -it my-web-db-1 mysql -uroot -pmysecretpassword
Troubleshooting
Masalah | Solusi |
---|---|
Docker gagal instal | Cek koneksi, ulangi langkah. |
Port digunakan | Ganti port di docker-compose.yml . |
MySQL error | Cek MYSQL_ROOT_PASSWORD atau hapus volume. |
Kesimpulan
Docker dan Docker Compose di Debian memudahkan pengelolaan aplikasi dalam container. Dengan panduan ini, pemula bisa menjalankan aplikasi web dalam waktu singkat. Terapkan praktik terbaik untuk keamanan dan efisiensi. Info lebih lanjut ada di docs.docker.com!