S-UI Docker容器化部署最佳实践一键启动与持久化配置还在为S-UI部署繁琐而烦恼本文将为你提供最完整的Docker容器化部署方案解决数据持久化、版本升级和环境配置等核心痛点。读完本文你将获得✅ Docker Compose一键部署方案✅ 数据持久化配置最佳实践✅ 环境变量调优指南✅ 多架构镜像构建技巧✅ 生产环境部署Checklist一、Docker Compose一键部署S-UI提供了完整的Dockerfile和docker-compose.yml配置支持快速部署version: 3.8 services: s-ui: image: alireza7/s-ui:latest container_name: s-ui volumes: - ./db:/app/db # 数据库持久化 - ./cert:/app/cert # SSL证书目录 ports: - 2095:2095 # 管理面板 - 2096:2096 # 订阅服务 restart: unless-stopped environment: - SUI_LOG_LEVELinfo - SUI_DB_FOLDER/app/db保存为docker-compose.yml后执行docker-compose up -d二、数据持久化关键配置2.1 数据库持久化S-UI使用SQLite数据库通过config/config.go中的GetDBFolderPath()方法确定存储路径# 创建数据目录 mkdir -p ./db ./cert # 确保目录权限 chmod 755 ./db ./cert2.2 SSL证书管理SSL证书存储在/app/cert目录支持自动续期# 证书目录结构 cert/ ├── fullchain.pem ├── privkey.pem └── chain.pem三、环境变量深度调优基于config/config.go的实现支持以下环境变量变量名默认值说明推荐设置SUI_LOG_LEVELinfo日志级别debug/info/warn/errorinfo生产环境SUI_DEBUGfalse调试模式falseSUI_DB_FOLDER/app/db数据库目录/app/dbTZAsia/Tehran时区设置Asia/Shanghai生产环境配置示例environment: - SUI_LOG_LEVELwarn - SUI_DEBUGfalse - TZAsia/Shanghai四、多架构镜像构建S-UI支持Dockerfile.frontend-artifact用于CI/CD构建FROM golang:1.25-alpine AS backend-builder WORKDIR /app ARG TARGETARCH ENV CGO_ENABLED1 ENV GOARCH$TARGETARCH RUN apk add --no-cache gcc musl-dev libc-dev make git COPY . . COPY frontend_dist/ /app/web/html/ RUN go build -ldflags-w -s \ -tags with_quic,with_grpc,with_utls,with_acme,with_gvisor \ -o sui main.go支持架构amd64,arm64,armv7,s390x五、生产环境部署清单5.1 前置检查Docker版本 ≥ 20.10磁盘空间 ≥ 500MB内存 ≥ 512MB防火墙开放2095、2096端口5.2 安全配置# 限制资源使用 deploy: resources: limits: memory: 1G cpus: 1 reservations: memory: 256M cpus: 0.5 # 只读根文件系统 read_only: true tmpfs: - /tmp5.3 健康检查healthcheck: test: [CMD, wget, --spider, http://localhost:2095/app] interval: 30s timeout: 10s retries: 3 start_period: 40s六、版本升级与回滚6.1 平滑升级# 拉取最新镜像 docker-compose pull # 重启服务 docker-compose up -d # 查看日志 docker-compose logs -f6.2 快速回滚# 回滚到特定版本 docker-compose run --rm s-ui ./sui migrate docker-compose up -d七、故障排查指南7.1 常见问题端口冲突检查2095、2096端口是否被占用权限问题确保db、cert目录有写权限数据库损坏从备份恢复或重新初始化7.2 日志分析# 实时查看日志 docker-compose logs -f --tail100 # 搜索错误信息 docker-compose logs | grep -i error通过本文的Docker部署方案你可以获得 一键部署的便捷性 数据安全的持久化保障 灵活的环境配置能力 生产级别的监控支持 无缝的版本升级体验立即动手部署享受容器化带来的运维便利吧创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考