家用住宅主机Linux Podman替代Docker部署中转

为什么选择Podman替代Docker部署中转站

很多家庭用户用旧电脑或NAS跑中转服务,但Docker需要守护进程且占用资源较高。
Podman是红帽主导的容器引擎,完全兼容Docker命令行,不需要后台守护进程,支持rootless运行,更适合家用Linux主机。
本教程以Ubuntu 22.04为例,手把手教你用Podman替代Docker部署中转站(如frp、Nginx代理或socks5隧道)。

准备条件:系统与Podman安装

1. 确认系统环境

  • 操作系统:Linux(推荐Ubuntu 20.04+、CentOS 8+、Debian 11+)
  • 内存:至少512MB(中转站通常很轻量)
  • 网络:需要公网IP或内网穿透(根据实际场景)

2. 安装Podman

打开终端,执行以下命令:

# Ubuntu/Debian
sudo apt update
sudo apt install podman -y

# CentOS/RHEL
sudo yum install podman -y

安装后验证版本:

podman --version

输出如 podman version 4.3.1 即成功。

注意:Podman默认使用容器镜像仓库 docker.io,与Docker兼容,无需额外配置。

核心步骤:拉取镜像并运行中转容器

1. 拉取中转站镜像

以流行的frp服务端为例:

podman pull docker.io/snowdreamtech/frps:latest

也可以拉取其他镜像,如 alpine/socat 用于端口转发。

2. 创建配置目录与文件

mkdir -p ~/frp
cd ~/frp
nano frps.toml

写入最小配置(根据实际需求修改):

bindPort = 7000
vhostHTTPPort = 7080
vhostHTTPSPort = 7443

3. 运行容器(类似docker run)

podman run -d \
  --name frps \
  -p 7000:7000 -p 7080:7080 -p 7443:7443 \
  -v ~/frp/frps.toml:/etc/frp/frps.toml:ro \
  --restart=always \
  docker.io/snowdreamtech/frps:latest

参数说明:

  • -d 后台运行
  • --name 容器名称
  • -p 端口映射(主机端口:容器端口)
  • -v 挂载配置文件(:ro 只读)
  • --restart=always 自动重启(类似docker的restart always)
注意:Podman默认以rootless模式运行,绑定低于1024的端口需提权或使用非特权端口。这里使用7000、7080、7443,均为高位端口。

避坑指南:常见问题与解决

1. rootless模式端口限制

如果必须使用80、443等端口,有两种方案:

  • 方案A:使用Podman的--privileged并映射到高位,然后用iptables转发。
  • 方案B:以root身份运行(不推荐,失去安全优势)。

对于家用环境,建议将中转站端口设为高位,然后通过路由器端口映射或Nginx反向代理。

2. SELinux导致挂载失败

CentOS/RHEL系统需检查SELinux:

sudo setenforce 0  # 临时关闭(仅测试)
# 或添加容器规则
sudo semanage fcontext -a -t container_file_t "$HOME/frp(/.*)?"
sudo restorecon -Rv $HOME/frp

3. 防火墙放行端口

sudo ufw allow 7000/tcp
sudo ufw allow 7080/tcp
sudo ufw allow 7443/tcp

4. 开机自启设置(使用systemd)

Podman支持自动生成systemd服务:

mkdir -p ~/.config/systemd/user
cd ~/.config/systemd/user
podman generate systemd --name frps --files
systemctl --user enable container-frps
systemctl --user start container-frps

确保用户linger开启:

sudo loginctl enable-linger $USER

效果验证与高频问题

1. 验证容器运行状态

podman ps

应显示frps容器状态为Up。
检查日志:

podman logs frps

看到类似 start frps success 字样。

2. 测试中转功能

根据你部署的中转站类型验证:

  • 若是frp,客户端连接后查看服务端日志是否有连接成功。
  • 若是socat或Nginx,尝试用curl访问映射端口。

3. 高频问题解答

  • Q: Podman和Docker镜像是否完全通用? 是的,Podman直接拉取Docker Hub的镜像,命令几乎一致。
  • Q: 为什么容器日志没有输出? 很多镜像默认日志输出到文件,尝试 podman exec frps cat /var/log/frps.log。
  • Q: 如何更新镜像? podman pull 新版本后,删除旧容器重新run即可。

总结

本教程带你在家用住宅主机上用Podman替代Docker部署了中转站。
全部操作无需Docker daemon,资源占用更低,rootless模式也更安全。
如果你后续遇到容器无法启动或端口冲突,优先检查防火墙和SELinux。
更多相关教程(如配置frp客户端、Nginx反向代理)可以继续浏览本站。

分享到:
上一篇
外贸站宝塔面板网站缓存插件适配海外搜索引擎
下一篇
跨境独立站宝塔面板服务器定时重启维护脚本设置
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意