Menjalankan WordPress pada 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.)
Menjalankan WordPress pada Podman
Menjalankan WordPress pada Podman

TeknoCerdas.com – Salam cerdas untuk kita semua. Podman adalah alternatif terbaru selain Docker untuk menjalankan container. Pada tulisan ini TeknoCerdas akan menunjukkan cara menjalankan WordPress pada Podman.

Sama dengan Docker, menjalankan WordPress menggunakan Podman memiliki beberapa keunggulan dibanding cara instalasi manual. Keunggulan utama terletak pada mudahnya konfigurasi yang sudah siap pakai atau out-of-the-box.

Jika belum membaca artikel pengenalan tentang Podman dan juga WordPress di Docker silahkan ikuti tautan berikut ini.

Pada MacOS dan Windows, Podman hanya menjadi remote client sedangkan instalasi Podman sendiri ada pada Linux baik itu di VM atau sebuah server yang berada di jariangan luar.

Daftar Isi

Persiapan Menjalankan WordPress di Podman

Sebelum mulai menjalankan WordPress ada beberapa prasyarat yang harus dipenuhi agar dapat memahami tulisan ini dengan baik.

  • Memiliki pemahaman dasar tentang WordPress.
  • Memiliki pemahaman dasar tentang Docker.
  • Podman telah terinstal di komputer atau server anda.

Jika anda tidak memiliki prasyarat diatas tenang saja, silahkan lanjutkan membaca. Karena mungkin banyak informasi baru yang diperoleh meskipun tanpa mencoba langsung tutorial ini.

Siapkan direktori baru yang digunakan untuk menyimpan persistent data dari Podman. Diasumsikan bahwa direktori kerja ada pada ~/Projects/WordPress.

~/Projects/WordPress
 + database/
 + www/

Direktori database digunakan untuk menyimpan file-file MySQL dan www/ digunakan untuk menyimpan file-file WordPress.

Menjalankan Container MySQL

Karena absennya tool seperti Docker Compose pada Podman, maka digunakan konfigurasi manual untuk menghubungkan antara WordPress dan MySQL.

Gunakan perintah berikut untuk menjalankan container MySQL dan melakukan setup root password.

$ podman run --name mysql_wp \
-v ./database:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=teknocerdas123 \
-d -p 3306:3306 mysql:5.7

Seperti terlihat bahwa argumen yang digunakan Podman sama dengan Docker. Hal ini memang disengaja untuk menjaga kompatibilitas.

  • --name digunakan untuk memberi nama container
  • -v untuk melakukan mount direktori lokal ke container
  • -e untuk memberikan nilai pada environment variable
  • -d agar proses menjadi background
  • -p mapping port dari host ke container
  • mysql:5.7 container image dan versi yang digunakan

Menjalankan Container WordPress

Berikutnya adalah menjalankan container WordPress yang terhubung ke container MySQL. Agar saling terhubung maka container WordPress menggunakan alamat IP dari Host:3306 untuk koneksi ke container MySQL.

$ podman run --name wp \
-e WORDPRESS_DB_HOST=172.31.25.31 \
-e WORDPRESS_DB_USER=root \
-e WORDPRESS_DB_PASSWORD=teknocerdas123 \
-e WORDPRESS_DB_NAME=teknocerdas_db \
-p 8080:80 -d wordpress:5.4.2
  • Environment WORDPRESS_DB_HOST=172.31.25.31 digunakan untuk memberikan alamat IP dari Host yang sudah melakukan port mapping ke container MySQL di port 3306. Pada komputer lokal umumnya 127.0.0.1 atau localhost.
  • Environment WORDPRESS_DB_NAME=teknocerdas_db untuk menentukan database yang digunakan. Akan otomatis dibuat jika belum ada.
  • wordpress:5.4.2 container image dari WordPress dan versi yang digunakan.

Untuk mengecek container yang sudah up dan running gunakan perintah ps.

$ podman ps
CONTAINER ID  IMAGE                              COMMAND               CREATED         STATUS             PORTS                   NAMES
3f8da9ce8064  docker.io/library/mysql:5.7        mysqld                4 hours ago     Up 4 hours ago     0.0.0.0:3306->3306/tcp  mysql_wp
e6c45373317e  docker.io/library/wordpress:5.4.2  apache2-foregroun...  47 minutes ago  Up 47 minutes ago  0.0.0.0:8080->80/tcp    wp

Dapat terlihat kedua container sudah berjalan. Buka browser dialamat http://localhost:8080/ untuk mulai menggunakan WordPress.

Menjalankan WordPress dengan Docker: Halaman Install
Menjalankan WordPress dengan Podman: Halaman Install
Menjalankan WordPress dengan Docker: Hello World
Menjalankan WordPress dengan Podman: Hello World

Untuk menghentikan container gunakan perintah stop.

$ podman stop mysql_wp wp

Untuk menghapus container gunakan perintah rm.

$ podman rm mysql_wp wp

Dapat terlihat semua perintah Podman identik dengan apa yang ada pada Docker. Ini akan memudahkan pengguna untuk migrasi ke Podman dengan mudah.