
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
。这是由于许可限制。
neomantra/onload支持的Docker Hub标签及对应的Dockerfile链接以下未版本化镜像标签当前映射到7.1.3.202:
以下版本化标签可用:
7.1.3.202-bionic7.1.3.202-bullseye7.1.3.202-buster7.1.3.202-centos77.1.3.202-centos87.1.3.202-focal7.1.3.202-jammy7.1.3.202-stretch7.1.3.202-trusty7.1.3.202-xenial7.1.0.265-centos7-nozf7.1.0.265-centos8-nozf7.1.0.265-precise-nozf7.1.0.265-trusty-nozf7.1.0.265-stretch-nozf7.1.0.265-xenial-nozf7.1.0.265-bionic-nozf7.1.0.265-cosmic-nozf7.1.0.265-disco-nozf7.1.0.265-focal-nozf7.1.0.265-buster-nozf7.0.0.176-centos-nozf7.0.0.176-precise-nozf7.0.0.176-trusty-nozf7.0.0.176-stretch-nozf7.0.0.176-xenial-nozf7.0.0.176-bionic-nozf7.0.0.176-cosmic-nozf7.0.0.176-disco-nozf7.0.0.176-focal-nozf7.0.0.176-buster-nozf201811-u1-centos-nozf201811-u1-precise-nozf201811-u1-trusty-nozf201811-u1-stretch-nozf201811-u1-xenial-nozf201811-u1-bionic-nozf201811-u1-cosmic-nozf201811-u1-disco-nozf201811-centos-nozf201811-precise-nozf201811-trusty-nozf201811-stretch-nozf201811-xenial-nozf201811-bionic-nozf201811-cosmic-nozf201805-u1-centos-nozf201805-u1-precise-nozf201805-u1-trusty-nozf201805-u1-stretch-nozf201805-u1-xenial-nozf201805-u1-bionic-nozf201805-u1-cosmic-nozf201805-centos-nozf201805-precise-nozf201805-trusty-nozf201805-stretch-nozf201805-xenial-nozf201805-bionic-nozf201710-u1.1-centos-nozf201710-u1.1-precise-nozf201710-u1.1-trusty-nozf201710-u1.1-stretch-nozf201710-u1.1-xenial-nozf201710-u1.1-bionic-nozf201710-u1-centos-nozf201710-u1-precise-nozf201710-u1-trusty-nozf201710-u1-stretch-nozf201710-u1-xenial-nozf201710-centos-nozf201710-precise-nozf201710-trusty-nozf201710-stretch-nozf201710-xenial-nozf201606-u1.3-centos-nozf201606-u1.3-precise-nozf201606-u1.3-trusty-nozf201606-u1.3-xenial-nozf201606-u1.2-centos-nozf201606-u1.2-precise-nozf201606-u1.2-trusty-nozf201606-u1.2-xenial-nozf201606-u1.1-centos-nozf201606-u1.1-precise-nozf201606-u1.1-trusty-nozf201606-u1.1-xenial-nozf201606-u1-centos-nozf201606-u1-precise-nozf201606-u1-trusty-nozf201606-u1-xenial-nozf201606-centos201606-precise201606-trusty201606-xenial201509-u1-centos201509-u1-precise201509-u1-trusty201509-u1-xenialOnload-enabled容器需要暴露主机网络和Onload设备,运行方式如下:
docker run --net=host --device=/dev/onload --device=/dev/onload_epoll -it ONLOAD_ENABLED_IMAGE_ID [COMMAND] [ARG...]
OpenOnload 201606系列还需要--device=/dev/onload_cplane。使用ef_vi或TCPDirect(又名ZF)需要--device=/dev/sfc_char。
以下是提取OpenOnload版本年份的bash单行命令:
onload --version | awk 'NR == 1 {print substr($2, 1, 4)}'
必须使用主机网络:--net=host
必须暴露以下设备:--device=/dev/onload --device=/dev/onload_epoll。
OpenOnload 201606系列还需要--device=/dev/onload_cplane。
使用ef_vi或TCPDirect需要--device=/dev/sfc_char。
主机的onload --version必须与容器的版本相同。
栈共享:如果容器和主机必须共享Onload栈,两者都应设置EF_SHARE_WITH=-1以避免OpenOnload当前的限制。注意这会禁用栈共享安全功能。
由于OpenOnload的当前限制,如果共享Onload栈,应设置EF_USE_HUGE_PAGES=0。
某些库(如jemalloc)需要在启动时调用系统调用。这可能导致无限循环,因为OpenOnload加速也需要malloc(通过dlsym);参见jemalloc问题https://github.com/jemalloc/jemalloc/issues/443%E5%92%8Chttps://github.com/jemalloc/jemalloc/issues/1426%E3%80%82%E5%8F%AF%E9%80%9A%E8%BF%87%E8%AE%BE%E7%BD%AE%60ONLOAD_DISABLE_SYSCALL_HOOK=1%60%E7%BC%93%E8%A7%A3%EF%BC%9B%E6%B3%A8%E6%84%8F%E8%BF%98%E9%9C%80%E8%A6%81%E8%AE%BE%E7%BD%AE%60ONLOAD_USERSPACE_ID%60%E4%BB%A5%E5%8C%B9%E9%85%8D%E6%9C%AA%E6%89%93%E8%A1%A5%E4%B8%81%E7%9A%84%E9%A9%B1%E5%8A%A8%E7%89%88%E6%9C%AC%E3%80%82**%E6%B3%A8%E6%84%8F%EF%BC%9A** 此问题可能已在7.0.0.176中修复:“SF-***-KI/bug62297: 避免应用程序使用jemalloc启动时挂起”。
这些OpenOnload构建默认基于构建机器的CPU类型使用-march和-mtune。这在运行平台上可能不是最优或不可运行。未来版本将允许通过Docker构建参数指定。
在OpenOnload 201606-u1中,Solarflare引入了名为TCPDirect的新内核旁路网络API。
要在容器中运行TCPDirect应用程序,必须额外暴露设备:
--device=/dev/sfc_char
TCPDirect的许可证与OpenOnload不同;其二进制文件可能不允许分发。因此,https://hub.docker.com/r/neomantra/onload/%E4%B8%8A%E7%9A%84%60onload%60%E5%85%AC%E5%85%B1%E9%95%9C%E5%83%8F%E4%B8%8D%E5%8C%85%E5%90%ABTCPDirect%E6%94%AF%E6%8C%81%E3%80%82
您可以使用常规Dockerfile自行构建和部署支持TCPDirect的镜像。为此,将构建参数ONLOAD_WITHZF设置为非空字符串(Dockerfile检查[ -z ${ONLOAD_WITHZF} ])。例如:
git clone https://github.com/neomantra/docker-onload.git cd docker-onload docker build --build-arg ONLOAD_WITHZF=1 -f xenial/Dockerfile -t neomantra/onload:201606-u1-xenial .
Ruby脚本build_onload_image.rb帮助生成构建Onload镜像的命令行。
$ ./build_onload_image.rb --help build_onload_image.rb [options] 操作 --versions 显示Onload版本名称列表(配合-v显示所有字段) --flavors 显示镜像版本列表 --gettag <prefix> 显示--autotag <prefix>的自动标签名称 --build 显示docker build命令 --execute 执行docker build命令 选项 --flavor -f <flavor> 指定构建版本(--build或--execute必需) --onload -o <version> 指定要构建的Onload版本(默认'latest') --url -u <url> 覆盖"packaged"版本的URL。 --tag -t <tag> 将镜像标记为<tag> --autotag -a <prefix> 将镜像标记为<prefix><version>-<flavor>[-nozf]。 <prefix>可选,但注意如果没有带冒号的<prefix>, 自动标签将是名称而非镜像名:标签 --zf <truthy> 构建时包含TCPDirect (zf)(如果可选的<truthy>为'0'或'false'则不包含) --arg <arg> 传递'--build-arg <arg>'给"docker build" --quiet -q 静默构建(传递-q给"docker build") --no-cache 传递--no-cache给"docker build" --execute -x 同时执行构建命令 --push -p 推送构建的镜像 --verbose -v 详细输出 --help -h 显示帮助
使用示例:
./build_onload_image.rb -o 7.1.1.75 --arg foo -f buster --zf --execute
还提供build_all_flavors.sh和build_all_images.sh脚本。
提供了以下基础系统的Dockerfile,使用-f选择Dockerfile路径:
centos7/Dockerfile)centos8/Dockerfile)stretch/Dockerfile)buster/Dockerfile)trusty/Dockerfile)xenial/Dockerfile)bionic/Dockerfile)focal/Dockerfile)jammy/Dockerfile)每个系统文件夹都包含一个Dockerfile。
以下是可用的构建时选项。可使用--build-argCLI参数设置,例如:
docker build --build-arg ONLOAD_VERSION="201509" --build-arg ONLOAD_MD5SUM="b093ea9f3a534c9c9fe9da6c2b6ccb7a" -f trusty/Dockerfile .
Dockerfile从[openonload
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务