在其他的鐵人賽文章裡也有劇透這一段,但為了劇情連貫,還是做一下前情提要。
在上一章拿到.tar.gz檔後,先在公司的開發環境離線安裝podman,成功了再帶到客戶端RedHat環境安裝。以下是當時在RedHat 9.7下安裝podman 5.6.0的劇本。
scp ./podman-rpms.tar.gz root@RedHat-IP:.。預設會存在/root路徑下。ssh root@RedHAT-IP,在/root目錄下對podman-rpms.tar.gz做解壓縮gunzip podman-rpms.tar.gz
tar xvf podman-rpms.tar
cd podman-rpms
dnf install -y *.rpm
若網路功能有問題,可試用以下指令安裝:
dnf localinstall -y *.rpm --disablerepo="*" --nogpgcheck
安裝完畢,可以執行podman -v顯示版本號。
# 1) 建使用者
sudo useradd -m -s /bin/bash appuser
# 2) 允許「使用者的 systemd --user」在無登入狀態仍可啟動(關鍵)
sudo loginctl enable-linger appuser
# 3) 確認
loginctl show-user appuser -p Linger
# Linger=yes
ssh appuser@RedHat-IPmkdir -p .config/containers/systemd
編輯a2a-net.network檔並存檔:vi .config/containers/systemd/a2a-net.network,這裡假設讀者會用vi,若是FTP傳檔亦可。
[Network]
# 內部隔離網路
# 用途:Backend APIs 之間的內部通訊
NetworkName=a2a-net
然後啟動網路服務,這時操作systemctl務必加--user參數,定調為rootless運作。
$ systemctl --user daemon-reload
$ systemctl --user start a2a-net-network
$ systemctl --user status a2a-net-network
● a2a-net-network.service
Loaded: loaded (/home/appuser/.config/containers/systemd/a2a-net.network; generated)
Active: active (exited) since Tue 2026-08-11 10:33:01 CST; 22s ago
Process: 3915706 ExecStart=/usr/bin/podman network create --ignore a2a-net (code=exited, status=0/SUCCESS)
Main PID: 3915706 (code=exited, status=0/SUCCESS)
CPU: 38ms
.network檔是個特例,經過daemon-reload後,服務名會是a2a-net-network.service,會把副檔名變成服務名稱尾綴。若是.container檔,a2a-web.container的服務名稱是a2a-web.service,在用systemctl --user操作時,.service可以省略。
另外,也可以用podman來查運作狀態:
$ podman quadlet list
NAME UNIT NAME PATH ON DISK STATUS APPLICATION
aia-net.network aia-net-network.service /home/appuser/.config/containers/systemd/aia-net.network active/exited
看到STATUS為active/exited表示成功,若是容器運作中的則STATUS會是active/running,這部份下回分解。