Podman (POD MANager) adalah alat untuk mengelola container dan image, volume yang dipasang ke dalam container tersebut, dan pod yang dibuat dari grup container. Podman menjalankan container di Linux, namun juga dapat digunakan di sistem Mac dan Windows menggunakan mesin virtual yang dikelola Podman. Podman didasarkan pada libpod, sebuah perpustakaan untuk manajemen siklus hidup kontainer yang juga terdapat dalam repositori ini. Pustaka libpod menyediakan API untuk mengelola container, pod, image container, dan volume.
Podman merilis rilis mayor atau minor baru 4 kali setahun, selama minggu kedua bulan Februari, Mei, Agustus, dan November. Rilis patch lebih sering dilakukan dan dapat terjadi kapan saja untuk memberikan perbaikan bug kepada pengguna. Semua rilis ditandatangani PGP. Kunci publik dari anggota tim yang disetujui untuk membuat rilis ada di sini.
Integrasi Berkelanjutan:
GoDok:
Unduhan
Pada tingkat tinggi, cakupan Podman dan libpod adalah sebagai berikut:
Dukungan untuk berbagai format image container, termasuk image OCI dan Docker.
Pengelolaan penuh atas image tersebut, termasuk mengambil dari berbagai sumber (termasuk kepercayaan dan verifikasi), membuat (dibangun melalui Containerfile atau Dockerfile atau dikomit dari container), dan mendorong ke registry dan backend penyimpanan lainnya.
Manajemen penuh atas siklus hidup container, termasuk pembuatan (baik dari image maupun dari sistem file root yang diledakkan), pengoperasian, pemeriksaan dan pemulihan (melalui CRIU), dan penghapusan.
Manajemen penuh jaringan kontainer, menggunakan Netavark.
Dukungan untuk pod, grup kontainer yang berbagi sumber daya dan dikelola bersama.
Dukungan untuk menjalankan container dan pod tanpa root atau hak istimewa lainnya.
Isolasi sumber daya container dan pod.
Dukungan untuk antarmuka CLI yang kompatibel dengan Docker, yang dapat menjalankan container secara lokal dan pada sistem jarak jauh.
Tidak ada daemon manajer, untuk meningkatkan keamanan dan menurunkan pemanfaatan sumber daya saat idle.
Dukungan untuk REST API yang menyediakan antarmuka yang kompatibel dengan Docker dan antarmuka yang ditingkatkan yang memperlihatkan fungsionalitas Podman tingkat lanjut.
Dukungan untuk berjalan di Windows dan Mac melalui mesin virtual yang dijalankan oleh podman machine
.
Peningkatan lebih lanjut pada podman machine
untuk mendukung Podman Desktop dan kasus penggunaan pengembang lainnya dengan lebih baik.
Dukungan untuk conmon-rs, yang akan meningkatkan pencatatan container.
Dukungan untuk API BuildKit.
Peningkatan kinerja dan stabilitas.
Pengurangan ukuran biner Podman.
Jika Anda merasa telah mengidentifikasi masalah keamanan dalam proyek, JANGAN laporkan masalah tersebut secara publik melalui pelacak masalah GitHub, milis, atau IRC. Sebagai gantinya, kirim email dengan detail sebanyak mungkin ke [email protected]
. Ini adalah milis pribadi untuk pengelola inti.
Untuk pertanyaan umum dan diskusi, silakan gunakan saluran Podman.
Untuk diskusi seputar masalah/bug dan fitur, Anda dapat menggunakan sistem pelacakan masalah GitHub dan PR.
Ada juga milis di lists.podman.io
. Anda dapat berlangganan dengan mengirimkan pesan ke [email protected]
dengan subjek subscribe
.
Podman dapat dengan mudah dijalankan sebagai pengguna biasa, tanpa memerlukan biner setuid. Saat dijalankan tanpa root, container Podman menggunakan namespace pengguna untuk menyetel root di container ke pengguna yang menjalankan Podman. Podman Tanpa Root menjalankan container yang terkunci tanpa hak istimewa yang tidak dimiliki oleh pengguna yang menjalankan container tersebut. Beberapa pembatasan ini dapat dicabut (melalui --privileged
, misalnya), namun container yang tidak memiliki root tidak akan pernah memiliki hak istimewa lebih dari pengguna yang meluncurkannya. Jika Anda menjalankan Podman sebagai pengguna dan melakukan mount di /etc/passwd
dari host, Anda tetap tidak dapat mengubahnya, karena pengguna Anda tidak memiliki izin untuk melakukannya.
Hampir semua fungsionalitas normal Podman tersedia, meskipun ada beberapa kekurangan. Rilis Podman terbaru seharusnya dapat berjalan tanpa root tanpa konfigurasi tambahan apa pun, meskipun sistem operasi Anda mungkin memerlukan beberapa konfigurasi tambahan yang dirinci dalam panduan instalasi.
Diperlukan sedikit konfigurasi oleh administrator sebelum Podman tanpa root dapat digunakan, pengaturan yang diperlukan didokumentasikan di sini.
Podman Desktop menyediakan lingkungan pengembangan lokal untuk Podman dan Kubernetes di mesin Linux, Windows, dan Mac. Ini adalah antarmuka UI desktop berfitur lengkap untuk Podman yang menggunakan backend podman machine
pada sistem operasi non-Linux untuk menjalankan container. Ini mendukung manajemen siklus hidup container secara penuh (membuat, menarik, dan mendorong image, membuat dan mengelola container, membuat dan mengelola pod, dan bekerja dengan Kubernetes YAML). Proyek ini berkembang di GitHub dan kontribusinya diterima.
Penandatanganan khusus dan pengiriman gambar ke berbagai backend penyimpanan. Lihat Skopeo untuk tugas-tugas tersebut.
Dukungan untuk antarmuka Kubernetes CRI untuk pengelolaan container. Daemon CRI-O berspesialisasi dalam hal itu.
Podman menggunakan proyek OCI dan perpustakaan terbaik untuk berbagai aspek:
Runtime: Kami menggunakan alat runtime OCI untuk menghasilkan konfigurasi runtime OCI yang dapat digunakan dengan runtime apa pun yang sesuai dengan OCI, seperti crun dan runc.
Gambar: Manajemen gambar menggunakan wadah/perpustakaan gambar.
Penyimpanan: Penyimpanan kontainer dan gambar dikelola oleh kontainer/penyimpanan.
Jaringan: Dukungan jaringan melalui penggunaan Netavark dan Aardvark. Jaringan tanpa root ditangani melalui pasta atau slirp4netns.
Build: Build didukung melalui Buildah.
Conmon: Conmon adalah alat untuk memantau runtime OCI, yang digunakan oleh Podman dan CRI-O.
Seccomp: Kebijakan Seccomp terpadu untuk Podman, Buildah, dan CRI-O.
Untuk blog, pengumuman rilis, dan lainnya, silakan periksa situs web podman.io!
Catatan instalasi Informasi tentang cara menginstal Podman di lingkungan Anda.
Informasi Dukungan OCI Hooks tentang cara Podman mengonfigurasi OCI Hooks agar dijalankan saat meluncurkan sebuah container.
Dokumentasi Podman API pada Podman REST API.
Perintah Podman Daftar perintah Podman dengan link ke halaman manualnya dan dalam banyak kasus video yang menunjukkan perintah yang digunakan.
Gambar Kontainer Podman Informasi tentang Gambar Kontainer Podman ditemukan di quay.io.
Panduan Mengatasi Masalah Podman Daftar masalah umum dan solusi untuk Podman.
Transfer Penggunaan Podman Informasi yang berguna untuk transfer operasi dan dev yang berkaitan dengan infrastruktur yang menggunakan Podman. Halaman ini mencakup tabel yang memperlihatkan perintah Docker dan perintah setara Podmannya.
Tutorial Tutorial menggunakan Podman.
Klien Jarak Jauh Petunjuk singkat tentang cara menggunakan klien jarak jauh Podman.
Pengaturan Dasar dan Penggunaan Podman di lingkungan Rootless Sebuah tutorial yang menunjukkan pengaturan dan konfigurasi yang diperlukan untuk menjalankan Rootless Podman.
Catatan Rilis Catatan rilis untuk versi Podman terbaru.
Berkontribusi Informasi tentang berkontribusi pada proyek ini.
Buildah dan Podman adalah dua proyek sumber terbuka yang saling melengkapi yang tersedia di sebagian besar platform Linux dan kedua proyek tersebut berada di GitHub.com dengan Buildah di sini dan Podman di sini. Baik Buildah maupun Podman adalah alat baris perintah yang bekerja pada image dan container Open Container Initiative (OCI). Kedua proyek ini berbeda dalam spesialisasinya.
Buildah berspesialisasi dalam membangun citra OCI. Perintah Buildah mereplikasi semua perintah yang ditemukan di Dockerfile. Hal ini memungkinkan pembuatan image dengan dan tanpa Dockerfiles tanpa memerlukan hak akses root apa pun. Tujuan utama Buildah adalah menyediakan antarmuka coreutils tingkat rendah untuk membuat gambar. Fleksibilitas pembuatan image tanpa Dockerfiles memungkinkan integrasi bahasa skrip lain ke dalam proses pembuatan. Buildah mengikuti model fork-exec sederhana dan tidak dijalankan sebagai daemon tetapi didasarkan pada API komprehensif di golang, yang dapat dijual ke alat lain.
Podman berspesialisasi dalam semua perintah dan fungsi yang membantu Anda memelihara dan memodifikasi gambar OCI, seperti menarik dan menandai. Ini juga memungkinkan Anda membuat, menjalankan, dan memelihara wadah yang dibuat dari gambar tersebut. Untuk membuat image container melalui Dockerfiles, Podman menggunakan API golang Buildah dan dapat diinstal secara independen dari Buildah.
Perbedaan utama antara Podman dan Buildah adalah konsep containernya. Podman memungkinkan pengguna untuk membuat "kontainer tradisional" yang tujuan dari kontainer tersebut adalah agar dapat bertahan lama. Sedangkan container Buildah sebenarnya hanya dibuat untuk memungkinkan konten ditambahkan kembali ke image container. Cara mudah untuk memikirkannya adalah perintah buildah run
mengemulasi perintah RUN di Dockerfile sementara perintah podman run
mengemulasi perintah docker run
secara fungsionalitas. Karena hal ini dan perbedaan penyimpanan yang mendasarinya, Anda tidak dapat melihat container Podman dari dalam Buildah atau sebaliknya.
Singkatnya, Buildah adalah cara yang efisien untuk membuat image OCI sementara Podman memungkinkan Anda mengelola dan memelihara image dan container tersebut di lingkungan produksi menggunakan perintah container cli yang sudah dikenal. Untuk detail selengkapnya, lihat Panduan Alat Kontainer.
$ podman run quay.io/podman/hello Trying to pull quay.io/podman/hello:latest... Getting image source signatures Copying blob a6b3126f3807 done Copying config 25c667d086 done Writing manifest to image destination Storing signatures !... Hello Podman World ...! .--"--. / - - / (O) (O) ~~~| -=(,Y,)=- | .---. /` |~~ ~/ o o ~~~~.----. ~~ | =(X)= |~ / (O (O) ~~~~~~~ ~| =(Y_)=- | ~~~~ ~~~| U |~~ Project: https://github.com/containers/podman Website: https://podman.io Documents: https://docs.podman.io Twitter: @Podman_io