Move me

  • 首页
  • About
    • History
  • 技术与技巧
    • 编程
    • 软件
  • ACG
    • 动画欣赏
    • 游戏
  • 随笔
    • 诗赋
    • 观点
    • 吐槽
  • 文章存档
  • 友情链接
Move me
My footprint on web
  1. 首页
  2. 技术与技巧
  3. 正文

使用Podman创建Wordpress

2025年1月10日 9936次阅读 2人点赞 2条评论

Github上可能有更新的版本,请相互参照,本文会配点图方便参考

robling/iServ: Some scripts and config to manage my vps host

所有的对外服务都尽可能使用镜像提供,使用Podman驱动

文件目录结构

$ ls -l
Backup
Config
Data

运行之前

# 设置密码(用户名为你的当前用户)
export PASSWD="YOUR PASSWORD"

备份数据

# 删除上一次备份的文件
sudo rm backup.tar.gz
# 导出数据库
sudo podman exec -it db mariadb-dump -u $USER --password=$PASSWD blog > ~/Data/dump.sql
# 打包文件
sudo tar cpzf backup.tar.gz Config/ Data/
# 按时间戳归档
sudo cp backup.tar.gz ~/Backup/backup_$(date +"%Y%m%d_%H%M%S").tar.gz

恢复备份的数据

scp {user_name}@{ip_adress}:~/backup.tar.gz ~/
tar xzpvf backup.tar.gz .

创建POD以及wordpress运行需要的镜像

# 先创建一个POD
sudo podman pod create --name web -p 18046:18046 -p 80:80 -p 443:443 

# 然后依次创建caddy:latest, mariadb:latest, redis:latest和wordpress:

sudo podman run --name caddy --pod web \
  --label "io.containers.autoupdate=image" \
  -v /home/$USER/Data/caddy_data:/data:z \
  -v /home/$USER/Config/Caddyfile:/etc/caddy/Caddyfile:z \
  -v /home/$USER/Data/wordpress:/var/www/html:z \
  -d docker.io/library/caddy

sudo podman run --name db --pod web \
  --label "io.containers.autoupdate=image" \
  -e MARIADB_USER=$USER \
  -e MARIADB_PASSWORD=$PASSWD \
  -e MARIADB_DATABASE=blog \
  -e MARIADB_ROOT_PASSWORD=$PASSWD \
  -v /home/$USER/Data/mariadb:/var/lib/mysql:Z \
  -v /home/$USER/Data/dump.sql:/docker-entrypoint-initdb.d/dump.sql:z \
  -d docker.io/library/mariadb

sudo podman run --name wordpress --pod web \
  --label "io.containers.autoupdate=image" \
  -e WORDPRESS_DB_HOST=127.0.0.1 \
  -e ALLOW_EMPTY_PASSWORD=yes \
  -e WORDPRESS_DB_USER=$USER \
  -e WORDPRESS_DB_PASSWORD=$PASSWD \
  -e WORDPRESS_DB_NAME=blog \
  -v /home/$USER/Data/wordpress:/var/www/html:z \
  -d docker.io/library/wordpress:fpm

sudo podman run --name redis --pod web \
  --label "io.containers.autoupdate=image" \
  -d docker.io/library/redis:latest

确认各项服务正常

# 确认镜像都运行起来了
sudo podman ps

# 再确认下wordpress本身是否可用

使用Systemd管理服务

# 切换到systemd配置文件目录
mkdir -p ~/Config/systemd && cd "$_"

# 生成systemd config
sudo podman generate systemd --new --files --name web

# 激活systemd服务
sudo cp * /etc/systemd/system
sudo systemctl daemon-reload
sudo systemctl start pod-web

更新镜像

# 手动更新镜像
sudo podman auto-update
# 自动更新
mkdir -p ~/Config/systemd && cd "$_"
wget https://raw.githubusercontent.com/robling/iServ/refs/heads/master/Config/podman-auto-update.service.in
wget https://raw.githubusercontent.com/robling/iServ/refs/heads/master/Config/podman-auto-update.timer
sudo cp * /etc/systemd/system
sudo systemctl daemon-reload
sudo systemctl enable podman-auto-update.service
sudo systemctl enable podman-auto-update.timer

标签: docker podman self-host wordpress
最后更新:2025年1月10日

一树小草

这个人很懒,什么都没留下

点赞
< 上一篇

文章评论

  • 土木坛子
    Chrome 139 · Windows 10

    比起传统的方法,这种方法有什么优劣之处?

    2025年8月24日
    回复
  • Tommytox
    Chrome 130 · Windows 10

    hi

    2025年4月28日
    回复
  • 取消回复

    公告

    终于能正常访问了,希望这次能撑得久一点。

    ——2021.11.04

    普通的有机生命体;

    beta版的智人

    总是跳过OP、ED的坏孩子;

    有自知之明的变态

    COPYRIGHT © 2021 spdf.me. ALL RIGHTS RESERVED.

    Theme Kratos by Seaton Jiang. PJAX fork by 小白-白.