FreeBSD Podman 安装与 GPT4Free 容器部署指南 by Trae
FreeBSD Podman 安装与 GPT4Free 容器部署指南
服务器容器化环境搭建与 AI 对话平台部署完整手册
服务器: 192.168.0.88 系统: FreeBSD 15.1-RELEASE-p1 日期: 2026-07-21
一、项目概述
本文档记录了在 FreeBSD 15.1 服务器上安装 Podman 容器引擎,并通过容器部署 GPT4Free(g4f)AI 对话平台的完整过程。
由于 FreeBSD 原生不支持 Docker 守护进程,本项目采用 Podman 作为替代方案。Podman 是无守护进程的容器引擎,在 FreeBSD 上有更好的兼容性。
部署成果
Podman 5.8.4 已成功安装,GPT4Free 容器已正常运行,可通过浏览器访问 AI 对话界面。
二、服务器环境
操作系统
FreeBSD 15.1-RELEASE-p1
架构
amd64 (x86_64)
IP 地址
192.168.0.88
SSH 用户
trae
包管理器
pkg
文件系统
ZFS
三、Podman 安装步骤
1
更新 pkg 仓库
sudo pkg update -f
2
安装 Podman 及依赖
sudo pkg install -y podman
此命令会自动安装以下依赖包:
conmon- 容器监控工具containernetworking-plugins- 容器网络插件containers-common- 容器通用配置ocijail- FreeBSD 容器运行时
3
挂载 fdescfs(必需)
Podman 的容器重启策略需要 fdescfs 文件系统支持:
sudo mount -t fdescfs fdesc /dev/fd
# 永久生效(添加到 /etc/fstab)
echo 'fdesc /dev/fd fdescfs rw 0 0' | sudo tee -a /etc/fstab
4
加载 PF 内核模块(网络支持)
# 立即加载
sudo kldload pf
# 永久加载(重启生效)
echo 'pf_load="YES"' | sudo tee -a /boot/loader.conf
# 启用本地回环过滤
sudo sysctl net.pf.filter_local=1
5
配置 PF 防火墙(容器网络 NAT)
sudo cp /usr/local/etc/containers/pf.conf.sample /etc/pf.conf
# 编辑 /etc/pf.conf,确保包含以下行:
# nat-anchor "cni-rdr/*"
# rdr-anchor "cni-rdr/*"
# anchor "cni-rdr/*"
# 启用并启动 PF
sudo sysrc pf_enable=YES
sudo service pf start
6
验证安装
podman --version
# 预期输出: podman version 5.8.4
四、国内加速镜像配置
由于服务器访问 Docker Hub 速度较慢,配置国内镜像加速源可显著提升拉取速度。
4.1 配置文件路径
/usr/local/etc/containers/registries.conf
4.2 配置内容
unqualified-search-registries = ["docker.io"]
[[registry]]
prefix = "docker.io"
location = "docker.io"
[[registry.mirror]]
location = "docker.m.daocloud.io"
[[registry.mirror]]
location = "hub-mirror.c.163.com"
[[registry.mirror]]
location = "docker.1panel.live"
[[registry.mirror]]
location = "dockerpull.org"
[[registry.mirror]]
location = "dockerhub.icu"
[[registry.mirror]]
location = "docker.rainbond.cc"
[[registry.mirror]]
location = "hub.rat.dev"
加速源可用性说明
经 2026 年 7 月实测,DaoCloud 和 1Panel 对基础镜像(如 alpine)加速效果最好。部分加速源对特定镜像(如 GPT4Free)有白名单限制,实际拉取时会自动 fallback 到可用源。
五、GPT4Free 容器部署
5.1 创建数据目录
mkdir -p /tmp/g4f_data/har_and_cookies /tmp/g4f_data/generated_media
5.2 拉取镜像
# 通过加速源拉取(推荐)
sudo podman pull --os=linux docker.1panel.live/hlohaus789/g4f:latest-slim
# 或直接从 Docker Hub 拉取
sudo podman pull --os=linux docker.io/hlohaus789/g4f:latest-slim
镜像大小约 670MB,拉取时间取决于网络速度。
5.3 启动容器
sudo podman run -d --name g4f --os=linux \
-p 8088:8080 \
-v /tmp/g4f_data/har_and_cookies:/app/har_and_cookies \
-v /tmp/g4f_data/generated_media:/app/generated_media \
hlohaus789/g4f:latest-slim
端口说明
容器内部服务监听 8080 端口,映射到宿主机的 8088 端口(因为 8080 被其他进程占用)。如需使用其他端口,修改 -p <宿主机端口>:8080 即可。
5.4 验证容器状态
sudo podman ps -a
# 预期输出:
# NAMES STATUS PORTS
# g4f Up 15 seconds 0.0.0.0:8088->8080/tcp
六、访问方式
Web 聊天界面
http://192.168.0.88:8088/chat/
OpenAI 兼容 API
http://192.168.0.88:8088/v1
API 文档 (Swagger)
http://192.168.0.88:8088/docs
七、常用命令速查
7.1 容器管理
| 命令 | 说明 |
|---|---|
sudo podman ps -a |
查看所有容器 |
sudo podman logs -f g4f |
查看 GPT4Free 实时日志 |
sudo podman stop g4f |
停止容器 |
sudo podman start g4f |
启动容器 |
sudo podman restart g4f |
重启容器 |
sudo podman rm -f g4f |
删除容器 |
sudo podman exec -it g4f sh |
进入容器内部 |
7.2 镜像管理
| 命令 | 说明 |
|---|---|
sudo podman images |
查看本地镜像 |
sudo podman pull <镜像> |
拉取镜像 |
sudo podman rmi <镜像ID> |
删除镜像 |
sudo podman image prune -f |
清理未使用镜像 |
7.3 运行 Linux 容器
FreeBSD 上的 Podman 默认运行 FreeBSD 容器。如需运行 Linux 容器,必须添加 --os=linux 参数:
# 运行 Linux 容器示例
sudo podman run --rm --os=linux alpine echo "Hello from Linux!"
# 运行 Linux 容器并交互
sudo podman run -it --rm --os=linux alpine sh
八、注意事项
- FreeBSD Podman 为实验性功能,不建议用于生产环境。
- 运行 Linux 容器需要添加
--os=linux参数,否则默认尝试运行 FreeBSD 容器。 - 部分 Docker 镜像可能无法在 FreeBSD 上正常运行,建议使用官方测试过的镜像。
- 容器数据存储在
/var/db/containers(ZFS)或/tmp/g4f_data(GPT4Free 数据)。 - 如需开机自启容器,可设置
sudo sysrc podman_enable=YES。 - GPT4Free 的提供商接口可能随时变动,如遇问题请查看 GitHub 仓库 最新更新。
九、故障排除
9.1 镜像拉取失败
# 检查网络连通性
fetch -o - http://docker.io 2>&1 | head -5
# 尝试其他加速源
sudo podman pull docker.m.daocloud.io/library/alpine:latest
sudo podman pull docker.1panel.live/library/alpine:latest
9.2 容器无法启动(端口被占用)
# 查看端口占用
sockstat -l4 | grep 8088
# 更换端口重新启动
sudo podman rm -f g4f
sudo podman run -d --name g4f --os=linux -p 8090:8080 ...
9.3 容器网络不通
# 检查 PF 模块是否加载
kldstat | grep pf
# 检查 PF 服务状态
sudo service pf status
# 重新加载 PF 配置
sudo pfctl -f /etc/pf.conf
9.4 GPT4Free 无法访问
# 查看容器日志
sudo podman logs --tail 50 g4f
# 测试本地访问
fetch -o - http://127.0.0.1:8088/chat/ 2>&1 | head -10
十、参考资源
- GPT4Free 官方仓库:GitHub - xtekky/gpt4free: The official gpt4free repository | various collection of powerful language models | opus 4.6 gpt 5.3 kimi 2.5 deepseek v3.2 gemini 3 · GitHub
- GPT4Free 官方文档:GPT4Free Documentation Hub
- Podman 官方文档:Getting Started with Podman | Podman
- FreeBSD 容器 Wiki:Making sure you're not a bot!
FreeBSD Podman 安装与 GPT4Free 容器部署指南
服务器: 192.168.0.88 | 文档生成日期: 2026-07-21
更多推荐




所有评论(0)