
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Song 是一个包含微服务(song-server)和CLI客户端(song-client)的项目,两者均基于Java 8和Spring Boot开发。其核心用途是快速、可靠地跟踪分散在多个云存储系统中的基因组元数据,支持元数据的提交、管理、发布及相关操作,适用于基因组数据管理场景。
http://localhost:8080/swagger-ui.html)application.yml)或环境变量配置,环境变量优先级更高通过Maven构建项目,生成可执行JAR包:
bashmvn clean package
直接通过Maven运行
bashgit clone git@github.com:icgc-dcc/SONG.git cd SONG/song-server mvn spring-boot:run -Dspring-boot.run.profiles=dev,test
通过JAR包运行
bashjava -jar song-server-0.1.1-SNAPSHOT.jar --spring.profiles.active=dev,test
提供make命令支持本地部署依赖服务,分为两种模式:
1. 开发模式(默认)
mvn package)后将文件复制到容器运行,支持快速开发;暴露调试端口(song-client:5005,song-server:5006)DEMO_MODE=0(未定义时默认)调试配置(IntelliJ)
make intellij-song-client-config获取基础配置)sleep 5)确保调试端口绑定make clean start-song-server运行song-client(开发模式)
bash./docker/tools/song-client-dev ping # 示例:ping song-server
2. 演示模式
DEMO_MODE=1启动song-server(演示模式)
bashmake start-song-server DEMO_MODE=1
运行song-client(演示模式)
bash./docker/tools/song-client-demo ping # 示例:ping song-server
服务运行时可通过Swagger UI访问API文档:
http://localhost:8080/swagger-ui.htmlsong-client是与song-server交互的CLI工具,支持Docker化运行。
配置方式
支持通过conf/application.yml文件或环境变量配置,环境变量优先级更高。配置项及对应环境变量如下:
| 配置项 | 环境变量 | 说明 |
|---|---|---|
| client.serverUrl | CLIENT_SERVER_URL | song-server地址 |
| client.studyId | CLIENT_STUDY_ID | 研究ID |
| client.programName | CLIENT_PROGRAM_NAME | 项目名称 |
| client.debug | CLIENT_DEBUG | 是否开启调试模式 |
| client.accessToken | CLIENT_ACCESS_TOKEN | 访问令牌 |
配置示例(环境变量方式):
bashCLIENT_SERVER_URL=http://localhost:8080 \ CLIENT_STUDY_ID=ABC123-CA \ CLIENT_PROGRAM_NAME=sing \ CLIENT_DEBUG=true \ CLIENT_ACCESS_TOKEN=myAccessToken \ ./bin/sing config # 本地运行示例
Docker运行命令
基本运行
bashdocker run --rm \ -e 'CLIENT_SERVER_URL=http://localhost:8080' \ -e 'CLIENT_STUDY_ID=ABC123-CA' \ -e 'CLIENT_PROGRAM_NAME=sing' \ -e 'CLIENT_DEBUG=true' \ -e 'CLIENT_ACCESS_TOKEN=myAccessToken' \ overture/song-client:latest \ sing config
非root用户运行
song用户:
bashdocker run --rm \ -u song \ -e 'CLIENT_SERVER_URL=http://localhost:8080' \ ... # 其他环境变量 overture/song-client:latest \ sing config
bashdocker run --rm \ -u $(id -u):$(id -g) \ -e 'CLIENT_SERVER_URL=http://localhost:8080' \ ... # 其他环境变量 overture/song-client:latest \ sing config
输出文件到主机
通过挂载卷将容器内输出文件映射到主机,例如生成清单文件:
bashmkdir -p ./mydir # 确保主机目录存在且有权限 docker run --rm \ -u $(id -u):$(id -g) \ -v $PWD/mydir:/data \ -e 'CLIENT_SERVER_URL=http://localhost:8080' \ -e 'CLIENT_STUDY_ID=ABC123-CA' \ -e 'CLIENT_PROGRAM_NAME=sing' \ -e 'CLIENT_DEBUG=true' \ -e 'CLIENT_ACCESS_TOKEN=myAccessToken' \ overture/song-client:latest \ sing manifest -a someAnalysisId -d /data -f /data/output-manifest.txt
生成的output-manifest.txt将保存到主机./mydir目录。
mvn package。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务