
。这是由于许可限制。
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






探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务