podman 教學,如何使用 podman 架設本機 WordPress 網站

看完本篇 podman 教學,你會學到什麼是 podman,podman 的基本指令,並且使用 podman 架設本機 WordPress 網站,進行 WordPress 網站開發。
目錄
什麼是 podman

podman 和 Docker 一樣是一種虛擬化技術,可以在作業系統中,建立不同的虛擬 OS,或是建立各種虛擬伺服器或資料庫,不再使用時,隨時能將這些 Server 或 Database 刪除,不會把作業系統弄得亂七八糟。
podman 可用來:
- 建立虛擬 Ubuntu 或其他 Linux OS
- 建立 Apache 或各種伺服器
- 建立 MySQL 或執行各種資料庫
那為什麼不直接用 docker 就好了,有幾個原因:
- Kubernetes 已經棄用 Docker
- Red Hat 也使用 podman 取代 Docker
- Docker 不再是完全免費使用,podman 依舊是免費開放原始碼
- podman is daemonless
- podman is rootless
podman 不需要先在背景執行服務(daemonless),不像 Docker 需要一個背景服務來管理所有的容器,一旦服務有問題,所有啟動的容器就一起掛了。
podman 不強制用 root 權限執行,相對比 Docker 安全許多。
如何安裝 podman
podman 是 Linux 的系統工具,現在已經支援 macOS 和 Windows,在 macOS 安裝非常方便,用 Homebrew 一行指令完成安裝。
brew install podman
如何使用 podman 架設 WordPress 網站
範例網站架構如下圖:

img src: Net7 – Blog – Combining containers into pods with Podman
首先建立一個 pod,然後在同一個 pod 中執行資料庫和 WordPress 網站伺服器,pod 開放 8081 port,我們就可以使用 http://localhost:8081 開啟本機 WordPress 網站。
使用 podman 建立 pod
pod 的概念和 Kubernetes pod 非常相似,而且 podman 真的可以讀取 Kubernetes YAML 檔案來管理 pod 和容器的執行。
podman 就是 pod manager 的意思。
參考說明:
以下範例為直接建立一個 pod,然後把所有 container 放在同一個 pod 執行,這些 container 可以直接使用 localhost 彼此溝通,不必費心各自 IP。
podman pod create --name wordpress-test -p 8081:80
指令說明:
podman pod create:建立 pod--name:指定名稱-p:port 對應,外部:內部
注意 pod 建立後就不能改 port mapping。
使用 podman 執行 MariaDB
為什麼不是 MySQL?因為 MariaDB 有提供 arm64 版本的 image,可以在 M1 MacBook 上執行,MySQL 沒有,而且 MariaDB 的所有參數和使用方式,和 MySQL 一模一樣,就是為了無縫取代 MySQL 👍。
podman run -d --pod=wordpress-test \
-e MYSQL_ROOT_PASSWORD="geheim" \
-e MYSQL_DATABASE="wp" \
-e MYSQL_USER="wordpress" \
-e MYSQL_PASSWORD="w0rdpr3ss" \
--name=wordpress-test-db mariadb
指令說明:
podman run:執行容器-d:run as daemon(背景執行)--pod:指定在上面建立的 pod 中執行-e:設定環境變數,資料庫的帳號密碼等等--name:指定容器名稱,方便管理
使用 podman 執行 WordPress
podman run -d --pod=wordpress-test \
-e WORDPRESS_DB_NAME="wp" \
-e WORDPRESS_DB_USER="wordpress" \
-e WORDPRESS_DB_PASSWORD="w0rdpr3ss" \
-e WORDPRESS_DB_HOST="127.0.0.1" \
--name wordpress-test-web wordpress
指令說明:
podman run:執行容器-d:run as daemon(背景執行)--pod:指定在上面建立的 pod 中執行-e:設定環境變數,資料庫的帳號密碼等等--name:指定容器名稱,方便管理
和上面的 MariaDB 一樣,容器執行都差不多。
本機架設 WordPress 完成,開啟 http://localhost:8081,全新的 WordPress 安裝開始。
參考資料
- ← Previous
你的 MacBook 沒有安裝 Homebrew 嗎?不要猶豫了快來安裝 - Next →
常用的 14 種瀏覽器擴充功能推薦,網站開發一定要試試

