Mencoba Podman Sebagai Pengganti Docker
2 min read
Disclaimer
Saya bekerja di AWS, semua opini adalah dari saya pribadi. (I work for AWS, my opinions are my own.)
TeknoCerdas.com – Salam cerdas untuk kita semua. Selama beberapa tahun terakhir Docker menjadi sebuah defacto ketika menjalankan container. Pada tulisan ini TeknoCerdas akan membahas bagaimana menggunakan Podman sebagai pengganti Docker.
Podman adalah sebuah utilitas untuk membuat dan menjalankan container berdasarkan standard Open Container Initiative (OCI). Docker container termasuk OCI sehingga Podman dapat digunakan sebagai pengganti Docker.
Penggagas atau pencipta dari Podman adalah perusahaan open source terkemuka yaitu Red Hat. Mereka sepertinya mengembangkan Podman sebagai pengganti Docker pada layanan cloud mereka yaitu OpenShift.
Perbedaan Podman dan Docker
Sebelum menggunakan Podman sekilas akan dibahas apa yang menjadi perbedaan utama antara Podman dan Docker.
Dua perbedaan utama antara Podman dan Docker adalah:
- Podman tidak memerlukan daemon untuk menjalankan container
- Secara default Podman tidak memerlukan akses root
Dua perbedaan utama diatas hal yang menjadikan Podman relatif lebih aman secara arsitektur. Karena tidak adanya daemon yang perlu dijalankan dan tidak perlu root untuk menjalankan container kecuali konfigurasi tertentu yang spesifik.
Apa yang dapat dilakukan Docker juga dapat dilakukan pada Podman. Sehingga pengguna dapat melakukan alias perintah:
$ alias docker=podman
Dan hampir dipastikan semuanya dapat bekerja. Hal yang belum ada pada Podman adalah utilitas Docker Compose. Saat ini tidak ada cara tunggal untuk dapat menduplikasi cara kerja Docker Compose kecuali dengan beberapa konfigurasi manual.
Instalasi Podman pada Ubuntu 20.04
Dalam percobaan yang TeknoCerdas lakukan sistem operasi yang digunakan adalah Ubuntu 20.04. Paket Podman tidak tersedia secara default pada repository Ubuntu. Untuk itu digunakan repository dari Project Kubic.
$ source /etc/os-release
$ echo "deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_${VERSION_ID}/ /" | sudo tee /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list
$ curl -L https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/xUbuntu_${VERSION_ID}/Release.key | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get -y install podman
Setelah proses instalasi selesai lakukan verifikasi bahwa Podman dapat dijalankan.
$ podman info
Untuk sistem operasi atau distribusi Linux yang lain pengguna dapat merujuk pada halaman instalasi Podman.
Menjalankan Container pada Podman
Dalam contoh menjalankan container pada Podman TeknoCerdas akan menggunakan images “hello-world” dari Docker registry. Hal menarik dari Podman adalah secara default image akan dicari pada registry milik Red Hat jika tidak ditemukan ia akan fallback ke Docker registry.
Jadi tidak perlu khawatir jika daftar image pada registry podman di Red Hat sedikit karena Podman juga menggunakan Docker registry.
Cara menjalankan pun sama dengan docker. Berikut perintahnya.
$ podman run hello-world
Trying to pull docker.io/library/hello-world...
Getting image source signatures
Copying blob 0e03bdcc26d7 done
Copying config bf756fb1ae done
Writing manifest to image destination
Storing signatures
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
Dapat dilihat bahwa tidak ada perbedaan cara menjalankan container antara Podman dan Docker. Sekarang coba jalankan perintah untuk melihat image.
$ podman image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/library/hello-world latest bf756fb1ae65 7 months ago 20 kB
Dapat dilihat repository yang digunakan menggunakan image dari Docker dapat dilihat dari indikasi prefix dari domain docker.io
.
Tidak ada komentar:
Posting Komentar