1. Apa itu Podman?
Podman (Pod Manager) adalah alat untuk menjalankan dan mengelola container mirip dengan Docker, tetapi bekerja tanpa daemon (daemonless) dan dapat berjalan dalam mode tanpa root (rootless). Hal ini membuat Podman lebih aman dan lebih fleksibel, terutama pada lingkungan server atau produksi.
2. Perbedaan Podman dengan Docker
| Fitur | Podman | Docker |
|---|---|---|
| Membutuhkan daemon? | Tidak | Ya (dockerd) |
| Dapat berjalan tanpa root? | Ya | Terbatas |
| Kompatibel dengan image Docker Hub? | Ya | Ya |
| CLI Mirip Docker | Ya | Ya |
| Mendukung konsep Pod seperti Kubernetes | Ya | Tidak |
Podman dapat digunakan sebagai pengganti Docker tanpa perlu mengubah banyak perintah, karena sintaksnya hampir identik. Podman juga lebih aman karena tidak perlu menyediakan akses root untuk menjalankan container.
3. Apa itu Daemon? (Penjelasan untuk Orang Awam)
Daemon adalah program yang berjalan di belakang layar dan siap menerima perintah kapan saja. Program ini biasanya tidak terlihat dan berjalan otomatis ketika sistem dinyalakan.
Contoh: Pada Docker, perintah docker run sebenarnya menghubungi daemon bernama dockerd yang mengelola container. Sedangkan pada Podman, perintah podman run langsung mengeksekusi container tanpa perlu daemon yang terus hidup di latar belakang.
4. Instalasi Podman
Ubuntu / Debian
sudo apt update
sudo apt install podman -y
Fedora / CentOS / RHEL
sudo dnf install podman -y
MacOS (Homebrew)
brew install podman
5. Mengatur Default Registry (Menambahkan docker.io)
Ketika menjalankan podman pull nginx, error dapat terjadi jika registry default belum diatur. Untuk mengatur Docker Hub sebagai default registry, edit file konfigurasi berikut:
sudo nano /etc/containers/registries.conf
Tambahkan atau ubah menjadi:
unqualified-search-registries = ["docker.io"]
Simpan lalu keluar, kemudian coba pull lagi:
podman pull nginx
6. Perintah Dasar Podman dan Padanan Docker
| Docker | Podman |
|---|---|
docker pull nginx | podman pull nginx |
docker run -d -p 8080:80 nginx | podman run -d -p 8080:80 nginx |
docker ps | podman ps |
docker stop <id> | podman stop <id> |
docker rm <id> | podman rm <id> |
Opsional: Agar perintah Docker tetap bisa digunakan
alias docker=podman
7. Menjalankan Container Contoh
podman run -d --name web -p 8080:80 docker.io/nginx
8. Membuat Pod (Mirip Konsep Kubernetes)
podman pod create --name mypod -p 8080:80
podman run -d --pod mypod nginx
9. Mengaktifkan Container agar Restart Otomatis (Generate systemd)
podman generate systemd --name web --files --new
10. Kesimpulan
- Podman adalah alternatif Docker yang lebih aman karena tidak memerlukan daemon dan bisa berjalan tanpa root.
- Podman kompatibel dengan image Docker Hub.
- Podman menggunakan konsep Pod yang selaras dengan Kubernetes.
- Penggunaan perintah Podman hampir sama dengan Docker sehingga mudah dipelajari.