Cara Menginstal Docker pada CentOS: Panduan Lengkap Langkah demi Langkah
Docker telah mengubah secara fundamental bagaimana developer membangun, mengirim, dan menjalankan aplikasi. Dengan mengemas software ke dalam container yang ringan dan portabel, Docker menghilangkan masalah klasik “it works on my machine” dan secara dramatis menyederhanakan alur kerja pengembangan dan deployment produksi. Jika Anda menjalankan CentOS dan ingin memanfaatkan kekuatan containerization, panduan komprehensif ini memandu Anda melalui setiap langkah — dari pembaruan sistem segar hingga konfigurasi lanjutan.
Baik Anda men-deploy aplikasi web tunggal atau mengorkestra lingkungan multi-container yang kompleks, menginstal Docker dengan benar di CentOS adalah langkah kritis pertama.
Prasyarat
Sebelum Anda memulai, pastikan Anda memiliki:
- Server CentOS 7 atau CentOS 8 (fisik atau virtual)
- Akun pengguna dengan
sudoprivileges - Koneksi internet yang stabil
- Keakraban dasar dengan command line Linux
> Pro Tip: Untuk pengalaman Docker terbaik, pertimbangkan menjalankannya di paket VPS Hosting. Server pribadi virtual memberi Anda akses root penuh, resource dedicated, dan fleksibilitas untuk menjalankan container tanpa batasan lingkungan bersama.
Langkah 1: Perbarui Sistem
Sebelum menginstal software baru apa pun, selalu perbarui paket yang ada untuk memastikan kompatibilitas dan keamanan. Jalankan perintah berikut:
sudo yum update -yPerintah ini menyegarkan semua paket yang diinstal ke versi terbaru mereka. Mungkin memakan waktu beberapa menit tergantung berapa banyak update yang tertunda. Sistem yang sepenuhnya diperbarui mengurangi risiko konflik dependensi selama instalasi Docker.
Langkah 2: Instal Dependensi yang Diperlukan
Docker bergantung pada beberapa paket tingkat sistem untuk berfungsi dengan benar. Instal mereka dengan satu perintah:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2Berikut adalah apa yang dilakukan setiap paket:
| Paket | Tujuan |
|---|---|
yum-utils | Menyediakan utilitas yum-config-manager untuk mengelola repository |
device-mapper-persistent-data | Diperlukan untuk driver penyimpanan device mapper Docker |
lvm2 | Dukungan Logical Volume Manager untuk backend penyimpanan Docker |
Dependensi ini memastikan Docker dapat mengelola penyimpanan container secara efisien dan andal di sistem CentOS Anda.
Langkah 3: Tambahkan Repository Docker Resmi
Repository paket default CentOS tidak menyertakan paket Docker terbaru. Anda perlu menambahkan repository resmi Docker untuk mendapatkan rilis stabil paling terkini:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repoPerintah ini menambahkan repository CentOS resmi Docker ke daftar repository sistem Anda. Menggunakan sumber resmi menjamin Anda menerima paket Docker asli dan terkini langsung dari Docker Inc., daripada versi yang berpotensi ketinggalan zaman dari mirror pihak ketiga.
Anda dapat memverifikasi repository ditambahkan dengan sukses dengan membuat daftar repository yang dikonfigurasi:
sudo yum repolistLangkah 4: Instal Docker Engine
Dengan repository di tempat, menginstal Docker sangat mudah:
sudo yum install -y docker-ce docker-ce-cli containerd.io> Catatan: Disarankan untuk juga menginstal docker-ce-cli (antarmuka command-line Docker) dan containerd.io (container runtime) bersama engine utama untuk setup yang lengkap dan siap produksi.
Ini menginstal Docker Community Edition (CE) — versi Docker gratis dan open-source yang sempurna untuk beban kerja pengembangan dan produksi.
Langkah 5: Mulai dan Aktifkan Layanan Docker
Menginstal Docker tidak secara otomatis memulainya. Anda perlu memulai daemon Docker dan mengonfigurasinya untuk diluncurkan secara otomatis saat boot sistem:
sudo systemctl start docker
sudo systemctl enable dockersystemctl start docker— Memulai layanan Docker segerasystemctl enable docker— Mengonfigurasi Docker untuk memulai secara otomatis setiap kali server di-reboot
Verifikasi Status Layanan
Konfirmasi Docker berjalan dengan benar:
sudo systemctl status dockerAnda harus melihat output yang menunjukkan layanan adalah active (running). Jika status menunjukkan kesalahan apa pun, tinjau log sistem dengan journalctl -u docker untuk detail pemecahan masalah.
Langkah 6: Verifikasi Instalasi Docker
Jalankan tes bawaan Docker untuk mengonfirmasi semuanya berfungsi seperti yang diharapkan:
sudo docker run hello-worldPerintah ini melakukan hal berikut:
- Menghubungi registry Docker Hub
- Mengunduh image tes
hello-worldyang ringan - Membuat container baru dari image tersebut
- Menjalankan container, yang mencetak pesan konfirmasi
Jika instalasi Anda berhasil, Anda akan melihat output yang dimulai dengan:
Hello from Docker!
This message shows that your installation appears to be working correctly.Selamat — Docker sekarang sepenuhnya diinstal dan beroperasi di server CentOS Anda.
Langkah 7: Konfigurasi Docker untuk Pengguna Non-Root (Opsional tetapi Disarankan)
Secara default, perintah Docker memerlukan sudo (privilege root). Untuk keamanan dan kenyamanan di lingkungan pengembangan, Anda dapat memungkinkan pengguna non-root tertentu menjalankan perintah Docker dengan menambahkan mereka ke grup docker.
Buat Grup Docker
Dalam kebanyakan kasus, grup ini dibuat secara otomatis selama instalasi. Jika tidak, buatlah secara manual:
sudo groupadd dockerTambahkan Pengguna Anda ke Grup Docker
Ganti your_username dengan nama pengguna Linux yang sebenarnya:
sudo usermod -aG docker your_usernameTerapkan Perubahan
Keluar dan masuk kembali untuk menyegarkan keanggotaan grup Anda. Atau, aktifkan perubahan di sesi saat ini:
newgrp dockerUji Tanpa Sudo
docker run hello-worldJika ini berjalan tanpa sudo dan tanpa kesalahan izin, konfigurasi berfungsi dengan benar.
> Peringatan Keamanan: Grup docker memberikan privilege yang setara dengan pengguna root. Hanya tambahkan pengguna terpercaya ke grup ini di lingkungan produksi.
Langkah 8: Referensi Perintah Docker Penting
Setelah Docker berjalan, berikut adalah perintah paling penting yang akan Anda gunakan setiap hari:
Manajemen Container
# List all running containers
docker ps
# List all containers (including stopped ones)
docker ps -a
# Start a stopped container
docker start container_id
# Stop a running container
docker stop container_id
# Remove a container
docker rm container_id
# Remove all stopped containers at once
docker container pruneManajemen Image
# List all locally stored images
docker images
# Pull an image from Docker Hub
docker pull image_name
# Pull a specific version/tag
docker pull image_name:tag
# Remove a local image
docker rmi image_name
# Remove all unused images
docker image prune -aMenjalankan Container
# Run a container interactively
docker run -it image_name /bin/bash
# Run a container in detached (background) mode
docker run -d image_name
# Run a container with port mapping
docker run -d -p 8080:80 image_name
# Run a container with a custom name
docker run -d --name my_container image_nameMelihat Log dan Statistik
# View container logs
docker logs container_id
# Follow live log output
docker logs -f container_id
# View real-time resource usage
docker statsLangkah 9: Konfirmasi Docker Dimulai saat Boot
Docker seharusnya sudah dikonfigurasi untuk memulai saat boot setelah menjalankan systemctl enable docker. Untuk memeriksa ulang atau mengaktifkan kembali perilaku ini:
sudo systemctl enable dockerUntuk menonaktifkan startup otomatis (misalnya, di mesin pengembangan di mana Anda tidak selalu membutuhkan Docker berjalan):
sudo systemctl disable dockerLangkah 10: Konfigurasi Lanjutan (Opsional)
Instal Docker Compose
Docker Compose adalah alat penting untuk mendefinisikan dan mengelola aplikasi multi-container menggunakan file konfigurasi YAML sederhana. Instal versi stabil terbaru:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-composeVerifikasi instalasi:
docker-compose --versionDengan Docker Compose, Anda dapat mendefinisikan seluruh stack aplikasi — web server, database, cache — dalam satu file docker-compose.yml dan menjalankan semuanya dengan satu perintah: docker-compose up -d.
Konfigurasi Daemon Docker
Anda dapat menyesuaikan perilaku Docker dengan mengedit (atau membuat) file konfigurasi daemon:
sudo nano /etc/docker/daemon.jsonContoh konfigurasi umum:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
},
"storage-driver": "overlay2",
"default-address-pools": [
{"base": "172.17.0.0/16", "size": 24}
]
}Setelah mengedit konfigurasi daemon, restart Docker untuk menerapkan perubahan:
sudo systemctl restart dockerPengaturan daemon umum yang dapat Anda konfigurasi meliputi:
- Log driver dan rotasi — Cegah log container mengonsumsi semua ruang disk
- Storage driver —
overlay2adalah driver yang direkomendasikan untuk CentOS - Pengaturan DNS — Tetapkan server DNS kustom untuk container
- Registry mirrors — Percepat pull image dengan mirror lokal
Konfigurasi Aturan Firewall (CentOS 7)
Jika Anda menjalankan firewalld, Anda mungkin perlu mengizinkan lalu lintas jaringan Docker:
sudo firewall-cmd --zone=public --add-masquerade --permanent
sudo firewall-cmd --reloadMemilih Lingkungan Hosting yang Tepat untuk Docker
Menjalankan Docker dalam produksi memerlukan lingkungan server yang andal dan berkinerja tinggi. Berikut adalah opsi terbaik tergantung pada kasus penggunaan Anda:
- VPS Hosting — Ideal untuk sebagian besar deployment Docker. Akses root penuh, resource yang dapat diskalakan, dan harga yang hemat biaya menjadikan VPS pilihan utama untuk aplikasi containerized.
- Dedicated Servers — Terbaik untuk lingkungan produksi lalu lintas tinggi atau ketika Anda membutuhkan performa CPU, RAM, dan penyimpanan maksimal untuk menjalankan puluhan container secara bersamaan.
- GPU Hosting — Sempurna untuk beban kerja AI/ML yang berjalan di dalam container Docker yang memerlukan akselerasi GPU untuk pelatihan model atau inference.
- VPS dengan cPanel — Jika Anda membutuhkan Docker bersama panel kontrol yang user-friendly untuk mengelola website dan email, kombinasi ini menawarkan yang terbaik dari kedua dunia.
Pemecahan Masalah Masalah Docker Umum di CentOS
Daemon Docker Gagal Memulai
Periksa log sistem untuk detail kesalahan:
journalctl -u docker --no-pager | tail -50Kesalahan Permission Denied
Jika Anda melihat Got permission denied while trying to connect to the Docker daemon socket, pastikan pengguna Anda berada di grup docker dan bahwa Anda telah keluar dan masuk kembali.
Tidak Dapat Pull Image
Ver
