
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像是podcast-server应用的后端服务组件,负责处理核心业务逻辑、数据持久化、API服务提供及与前端/客户端的交互。作为播客服务器的核心,其主要用途包括:
通过以下命令快速启动容器,需提前配置数据库环境:
bashdocker run -d \ --name podcast-server-backend \ -p 8080:8080 \ -e SPRING_DATASOURCE_URL=jdbc:postgresql://db-host:5432/podcast_db \ -e SPRING_DATASOURCE_USERNAME=podcast_user \ -e SPRING_DATASOURCE_PASSWORD=secure_password \ -e LOG_LEVEL=INFO \ -v /host/data:/app/data \ -v /host/logs:/app/logs \ podcast-server-backend:latest
参数说明:
-p 8080:8080:映射容器内API服务端口到宿主机-e:设置环境变量(详见4.3节配置参数)-v:挂载宿主机目录到容器,用于数据持久化(/app/data存储业务数据,/app/logs存储日志)通过docker-compose.yml配置后端服务与依赖数据库的联动部署:
yamlversion: '3.8' services: backend: image: podcast-server-backend:latest container_name: podcast-backend restart: always ports: - "8080:8080" environment: - SPRING_DATASOURCE_URL=jdbc:postgresql://db:5432/podcast_db - SPRING_DATASOURCE_USERNAME=podcast_user - SPRING_DATASOURCE_PASSWORD=secure_password - SERVER_PORT=8080 - LOG_LEVEL=INFO - CORS_ALLOWED_ORIGINS=http://frontend-host:3000 volumes: - ./data:/app/data - ./logs:/app/logs depends_on: - db db: image: postgres:14-alpine container_name: podcast-db restart: always environment: - POSTGRES_DB=podcast_db - POSTGRES_USER=podcast_user - POSTGRES_PASSWORD=secure_password volumes: - postgres-data:/var/lib/postgresql/data volumes: postgres-data:
启动命令:
bashdocker-compose up -d
容器通过环境变量配置核心参数,常用参数如下表:
| 环境变量名 | 说明 | 默认值 | 示例值 |
|---|---|---|---|
SERVER_PORT | API服务监听端口 | 8080 | 9090 |
SPRING_DATASOURCE_URL | 数据库连接URL(支持PostgreSQL/MySQL) | - | jdbc:postgresql://db:5432/podcast_db |
SPRING_DATASOURCE_USERNAME | 数据库用户名 | - | podcast_user |
SPRING_DATASOURCE_PASSWORD | 数据库密码 | - | secure_password |
LOG_LEVEL | 日志级别(ERROR/WARN/INFO/DEBUG) | INFO | DEBUG |
CORS_ALLOWED_ORIGINS | 允许跨域请求的源(多个用逗号分隔) | * | http://localhost:3000,https://app.com |
APP_DATA_DIR | 业务数据存储目录(容器内路径) | /app/data | /custom/data |
JWT_SECRET | JWT认证密钥(用于用户登录) | 随机生成 | my-secret-key-*** |
JWT_EXPIRATION | JWT令牌过期时间(秒) | 86400(24小时) | 43200(12小时) |
容器内以下目录需通过宿主机挂载实现数据持久化:
/app/data:存储播客元数据、用户配置等业务数据/app/logs:存储应用运行日志(按日滚动)挂载示例:
bash-v /host/podcast/data:/app/data \ -v /host/podcast/logs:/app/logs
chmod 775 /host/data调整)JWT_SECRET,并通过HTTPS暴露服务(可配合Nginx反向代理实现)/app/data目录数据,避免数据丢失容器内置健康检查接口,通过GET /actuator/health访问,返回状态UP表示服务正常。
通过以下命令查看容器日志:
bashdocker logs -f podcast-server-backend
日志格式示例(INFO级别):
2024-05-20 10:30:00.123 INFO 1 --- [main] c.p.backend.Application: Started Application in 5.234 seconds (JVM running for 5.890) 2024-05-20 10:30:05.678 INFO 1 --- [nio-8080-exec-1] c.p.backend.controller.PodcastController: User 'admin' fetched 10 podcasts
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务