Seperti yang kita ketahui podman adalah alat tanpa daemon open-source yang menyediakan lingkungan untuk membangun, menjalankan, dan mengelola container. Menjalankan container sebagai layanan systemd berarti container akan otomatis dimulai saat sistem di-boot ulang.
Dalam posting ini, kita akan belajar bagaimana menjalankan container sebagai layanan systemd dengan podman pada distribusi berbasis RHEL seperti RHEL 8, CentOS 8 dan Rocky Linux 8.
Prasyarat :
- Instalasi OS berbasis RHEL minimal.
- Koneksi Internet Stabil
- Pengguna Sudo dengan hak akses root
Dalam demonstrasi ini, saya menggunakan minimal RHEL 8.5, tetapi langkah-langkah ini juga berlaku untuk CentOS 8 dan Rocky Linux 8. Mari langsung ke langkah-langkahnya,
Langkah 1) Instal Podman
Untuk menginstal podman di RHEL 8 , jalankan
$ sudo dnf install @container-tools -y
Untuk CentOS 8 / Rocky Linux 8, jalankan
$ sudo dnf install -y podman
Verifikasi instalasi podman
Untuk memeriksa apakah podman berhasil diinstal atau tidak, coba putar container 'hello-world' menggunakan perintah podman di bawah.
$ podman -v podman version 3.3.1 $ $ podman run 'hello-world'
Catatan:Saat kami menjalankan podman pertama kali, kami akan diminta untuk memilih registri tempat Anda ingin mengunduh gambar kontainer.
Output dari perintah di atas akan seperti di bawah ini:
Prefek di atas mengkonfirmasi bahwa podman berhasil diinstal. Mari kita lanjutkan ke langkah berikutnya.
Langkah 2) Buat Layanan Systemd dari sebuah wadah
Mari kita asumsikan kita ingin membuat layanan systemd untuk wadah rsyslog. Putar wadah rsyslog pertama menggunakan perintah podman berikut,
$ podman run -d --name <Container-Name> <Image-Name>
Catatan:Jika Anda ingin mengunduh gambar wadah rsyslog dari registri tertentu, gunakan sintaks berikut:
$ podman run -d --name container-name <registry-URL>/<image-name>
Dalam demonstrasi ini, saya telah menggunakan registri Red hat. Jadi login dulu ke registry
$ podman login registry.access.redhat.com Username: <Specify-User-Name> Password: <Enter-Password> Login Succeeded! $
Sekarang coba putar container menggunakan perintah podman berikut,
$ podman run -d --name rsyslog-server registry.access.redhat.com/rhel7/rsyslog $ podman ps
Sekarang buat layanan systemd untuk wadah rsyslog-server, jalankan perintah berikut
$ mkdir -p .config/systemd/user $ cd .config/systemd/user/ $ podman generate systemd --name rsyslog-server --files --new /home/sysops/.config/systemd/user/container-rsyslog-server.service $
Seperti yang kami dapat di atas, layanan systemd dibuat.
Untuk detail lebih lanjut tentang perintah 'podman generate systemd', lihat halaman bantuannya
$ podman generate systemd --help
Langkah 3) Mulai dan Aktifkan Layanan Container Systemd
Jalankan perintah systemctl berikut untuk memulai dan mengaktifkan layanan systemd untuk wadah rsyslog-server.
$ cd .config/systemd/user/ $ systemctl --user daemon-reload $ systemctl --user enable container-rsyslog-server.service $ systemctl --user restart container-rsyslog-server.service
Sekarang verifikasi status layanan systemd dan status wadah, jalankan
$ systemctl --user status container-rsyslog-server.service $ podman ps
Sekarang, Ketika sistem di-boot ulang, wadah akan secara otomatis dimulai melalui layanan systemd-nya. Jadi mari kita reboot sekali dan verifikasi layanan container.
$ sudo reboot
Setelah sistem kembali online, login ke sistem dan verifikasi layanan container
$ podman ps $ cd .config/systemd/user/ $ systemctl --user status container-rsyslog-server.service
Bagus, ini mengonfirmasi bahwa wadah rsyslog-server dimulai secara otomatis memposting reboot melalui layanan systemdnya.
Itu saja dari posting ini, saya harap Anda telah menemukannya informatif. Silakan bagikan umpan balik dan pertanyaan Anda.
Baca Juga :Cara Menjalankan Jenkins Container sebagai Layanan Systemd dengan Docker