
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
archivebox/sonic 是 valeriansaliou/sonic 的多架构预编译镜像,支持 arm64 和 amd64 架构。Sonic 是一个轻量级的全文搜索引擎,该镜像旨在简化 Sonic 在容器环境中的集成,可通过多阶段构建直接将预编译的 Sonic 二进制文件捆绑到目标容器中,避免手动安装构建依赖(如 cargo、brew)或从源码编译的繁琐流程。
linux/amd64 和 linux/arm64 架构,适配 x86_64 和 ARM64 设备。/etc/sonic.cfg,开箱即用。build-essential、clang),减小镜像体积。sonic --version 验证二进制文件可用性。在目标应用的 Dockerfile 中,通过多阶段构建从 archivebox/sonic 镜像复制预编译的 Sonic 二进制文件:
dockerfile# 目标应用基础镜像(示例为 Python,可替换为其他基础镜像) FROM python:3.11-slim-bookworm # 已在 bookworm 测试,其他版本可能兼容 # ... 应用自身构建步骤(如安装依赖、复制代码等) ... # 从 archivebox/sonic 复制 Sonic 二进制文件到目标镜像 COPY --from=archivebox/sonic /usr/local/bin/sonic /usr/local/bin/sonic # 验证 Sonic 是否成功集成 RUN /usr/local/bin/sonic --version # ... 应用启动命令等 ...
如需独立运行 Sonic 服务,可直接通过 docker run 启动容器:
bash# 基本运行(使用默认配置) docker run -d \ --name sonic \ -p 1491:1491 \ archivebox/sonic:latest # 自定义配置文件(挂载本地配置文件覆盖默认配置) docker run -d \ --name sonic \ -p 1491:1491 \ -v /path/to/your/sonic.cfg:/etc/sonic.cfg \ archivebox/sonic:latest
/etc/sonic.cfg,包含基础运行参数(如端口 1491、数据目录等)。/etc/sonic.cfg 覆盖默认配置,配置项参考 https://github.com/valeriansaliou/sonic#configuration%E3%80%821491 端口,需通过 -p 1491:1491 映射到宿主机以对外提供服务。如需基于源码构建自定义版本的 archivebox/sonic 镜像,可使用以下命令(需安装 Docker Buildx):
bash# 克隆 ArchiveBox 仓库(或创建独立目录) cd ArchiveBox/ # 或其他工作目录 # 创建镜像构建文件(内容见下方「构建信息」中的 Dockerfile) nano Dockerfile # 多架构构建并推送到镜像仓库 docker buildx build \ --platform "linux/amd64,linux/arm64" \ --push . \ -t your-registry/sonic:1.4.9 \ # 替换为自定义标签 -t your-registry/sonic:latest
archivebox/sonic 镜像的构建 Dockerfile 如下:
dockerfileFROM rust:slim-bookworm ARG TARGETPLATFORM ARG TARGETOS ARG TARGETARCH ARG TARGETVARIANT RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=apt-$TARGETARCH$TARGETVARIANT \ --mount=type=cache,target=/usr/local/cargo/registry,sharing=locked,id=cargoreg-$TARGETARCH$TARGETVARIANT \ --mount=type=cache,target=/usr/local/cargo/git,sharing=locked,id=cargogit-$TARGETARCH$TARGETVARIANT \ --mount=type=cache,target=/app,sharing=locked,id=sonicgit-$TARGETARCH$TARGETVARIANT \ # 安装构建依赖 apt-get update -qq \ && apt-get install -qq -y build-essential clang git \ && rustup component add rustfmt \ && rustc --version \ && rustup --version \ && cargo --version \ && mkdir -p /app \ # 更新或克隆 Sonic 源码 && ((cd /app/sonic && git pull) || (git clone https://github.com/valeriansaliou/sonic /app/sonic)) \ && cd /app/sonic \ # 编译 Sonic 二进制文件 && cargo clean \ && cargo build --release --target "$(uname -m)"-unknown-linux-gnu \ && strip "/app/sonic/target/$(uname -m)-unknown-linux-gnu/release/sonic" \ && mv "/app/sonic/target/$(uname -m)-unknown-linux-gnu/release/sonic" /usr/local/bin/sonic \ # 清理构建依赖 && apt-get purge -qq -y build-essential clang git \ && apt-get autoremove -qq -y \ && rm -rf /var/lib/apt/lists/* \ # 验证二进制文件 && /usr/local/bin/sonic --version # 复制默认配置文件 COPY etc/sonic.cfg /etc/sonic.cfg # 启动命令 CMD [ "/usr/local/bin/sonic", "-c", "/etc/sonic.cfg" ] # 暴露默认端口 EXPOSE 1491
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务