
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像为Spark FHIR Server设计,是一个定制化的MongoDB数据库镜像。FHIR(Fast Healthcare Interoperability Resources)是健康领域的数据交换标准,用于规范数据的格式和交互方式。该镜像的主要用途是作为Spark FHIR Server的后端数据库,专门存储符合FHIR标准的健康数据,支持健康信息系统间的数据存储、管理和交互。
mongo客户端、MongoDB Compass)。通过docker run命令直接启动镜像,基本格式如下:
bashdocker run -d \ --name spark-fhir-mongodb \ -p 27017:27017 \ -v spark-fhir-mongodb-data:/data/db \ -e MONGO_INITDB_ROOT_USERNAME=admin \ -e MONGO_INITDB_ROOT_PASSWORD=your_secure_password \ -e MONGO_INITDB_DATABASE=fhir \ docker.xuanyuan.run/spark-fhir-server-mongodb:latest
参数说明
-d:后台运行容器。--name spark-fhir-mongodb:指定容器名称为spark-fhir-mongodb。-p 27017:27017:映射容器内MongoDB默认端口27017到宿主机27017端口(宿主机端口可自定义,如-p 27018:27017)。-v spark-fhir-mongodb-data:/data/db:通过命名卷spark-fhir-mongodb-data挂载MongoDB数据目录(/data/db),实现数据持久化。MONGO_INITDB_ROOT_USERNAME:MongoDB根用户用户名(必填,用于身份认证)。MONGO_INITDB_ROOT_PASSWORD:MongoDB根用户密码(必填,需设置强密码)。MONGO_INITDB_DATABASE:初始数据库名称(默认建议设为fhir,用于存储FHIR资源)。创建docker-compose.yml文件,配置如下(可与Spark FHIR Server联动):
yamlversion: '3.8' services: fhir-mongodb: image: docker.xuanyuan.run/spark-fhir-server-mongodb:latest container_name: spark-fhir-mongodb restart: always # 容器退出时自动重启 ports: - "27017:27017" # 宿主机端口:容器端口 volumes: - spark-fhir-mongodb-data:/data/db # 数据持久化卷 - ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js # 可选:初始化脚本(如创建FHIR专用用户) environment: - MONGO_INITDB_ROOT_USERNAME=admin - MONGO_INITDB_ROOT_PASSWORD=SecurePassword123! - MONGO_INITDB_DATABASE=fhir networks: - fhir-network # 与Spark FHIR Server共享网络 networks: fhir-network: driver: bridge volumes: spark-fhir-mongodb-data: # 命名卷,自动创建
初始化脚本示例(可选)
若需创建FHIR专用数据库用户(非根用户),可编写mongo-init.js脚本并挂载到/docker-entrypoint-initdb.d/目录,容器启动时会自动执行。示例脚本:
javascript// mongo-init.js db = db.getSiblingDB('fhir'); // 切换到fhir数据库 db.createUser({ user: "fhiruser", pwd: "FhirUserPassword123!", roles: [ { role: "readWrite", db: "fhir" } // 授予fhir数据库的读写权限 ] });
Spark FHIR Server需通过以下参数连接本数据库:
mongodb://<宿主机IP或容器名>:27017(使用Docker Compose时,容器名可直接作为主机名,如mongodb://fhir-mongodb:27017)。fhiruser)和密码(如FhirUserPassword123!)。fhir(与MONGO_INITDB_DATABASE一致)。| 环境变量名 | 说明 | 默认值 | 是否必填 |
|---|---|---|---|
MONGO_INITDB_ROOT_USERNAME | MongoDB根用户用户名,用于数据库管理和认证。 | - | 是 |
MONGO_INITDB_ROOT_PASSWORD | MongoDB根用户密码,需设置强密码(建议包含大小写字母、数字和特殊符号)。 | - | 是 |
MONGO_INITDB_DATABASE | 初始创建的数据库名称,建议设为fhir以存储FHIR资源。 | test | 否 |
MONGO_PORT | 容器内MongoDB服务端口(一般无需修改)。 | 27017 | 否 |
通过Docker卷(volumes)实现数据持久化,避免容器删除后数据丢失。推荐使用命名卷(如示例中的spark-fhir-mongodb-data),而非宿主机目录挂载,以简化管理。
生产环境中,建议配置MongoDB副本集以提升可用性:
mongo客户端执行rs.initiate()等命令)。mongodb://fhir-mongodb-1:27017,fhir-mongodb-2:27017,fhir-mongodb-3:27017/fhir?replicaSet=rs0)。MONGO_INITDB_ROOT_USERNAME和MONGO_INITDB_ROOT_PASSWORD),并定期更换密码。mongodump工具备份数据库,或配置MongoDB的定时备份机制。--wiredTigerCacheSizeGB参数限制缓存大小),避免资源耗尽。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务
以下是 sparkfhir/mongo 相关的常用 Docker 镜像,适用于 不同场景 等不同场景: