该镜像的Dockerfile及其他信息可通过交互式运行镜像或访问对应GitHub仓库获取:http://github.com/Unidata/docker-nctests
此Docker镜像用于对Unidata netCDF包进行spot-tests(快速测试),可测试远程或本地代码仓库。运行容器时,将从Unidata GitHub站点检出并构建测试以下包:
每个包会被构建并测试,以此验证netcdf-c的变更是否会影响其依赖包(如netcdf-fortran和netcdf-cxx4)。
来自NCO官网:
NCO工具包用于处理和分析存储在netCDF可访问格式(包括DAP、HDF4和HDF5)中的数据。它利用许多CF(气候与 forecast)元数据约定的地球物理表达能力、UDUnits转换的物理维度灵活描述、OPeNDAP的网络透明性、HDF(分层数据格式)的存储特性(如压缩、分块、组)以及GSL(GNU科学库)的许多强大数学和统计算法。NCO快速、强大且免费。
NCO集成增加了额外的回归测试能力。
可使用以下语法为netcdf-c指定非master的替代分支:
bash$ docker run -e CBRANCH="分支名称" unidata/nctests:serial
可通过将本地git目录挂载到Docker镜像文件系统根目录,使用本地目录替代GitHub拉取:
bash$ docker run -v $(pwd)/netcdf-c:/netcdf-c unidata/nctests:serial
容器运行时会检查/netcdf-c、/netcdf-fortran、/netcdf-cxx4和/netcdf4-python是否存在。若存在,将从这些本地目录克隆而非从GitHub拉取。
注意:由于是从"本地"目录克隆,需确保本地目录已处于要分析的分支。若需在CDash仪表板正确标记构建,仍需设置相应环境变量。
以下环境变量可用于控制运行时行为:
CMD - 运行替代命令,可选值:helpUSEDASH - 设置为非TRUE值以禁用远程仪表板CBRANCH - netcdf-c的Git分支FBRANCH - netcdf-fortran的Git分支CXXBRANCH - netcdf-cxx4的Git分支PBRANCH - netcdf4-python的Git分支NCOBRANCH - NCO的Git分支,默认:4.5.3COPTS - netcdf-c的CMake选项FOPTS - netcdf-fortran的CMake选项CXXOPTS - netcdf-cxx4的CMake选项AC_COPTS - netcdf-c的Autoconf选项AC_FOPTS - netcdf-fortran的Autoconf选项AC_CXXOPTS - netcdf-cxx4的Autoconf选项RUNF - 设置为OFF、FALSE或非TRUE值,禁用netcdf-fortran测试RUNCXX - 设置为OFF、FALSE或非TRUE值,禁用netcdf-cxx4测试RUNP - 设置为OFF、FALSE或非TRUE值,禁用netcdf4-python测试RUNNCO - 设置为OFF、FALSE或非TRUE值,禁用NCO测试CREPS - 默认1,netcdf-c构建和测试的重复次数FREPS - 默认1,netcdf-fortran构建和测试的重复次数CXXREPS - 默认1,netcdf-cxx4构建和测试的重复次数PREPS - 默认1,netcdf4-python构建和测试的重复次数NCOREPS - 默认1,NCO构建和测试的重复次数USECMAKE - 默认TRUE,设为TRUE时运行CMake构建USEAC - 默认FALSE,设为TRUE时运行源码内Autoconf构建注意:
USECMAKE和USEAC可同时使用,结合CREPS等循环控制选项,可验证不同构建系统是否相互干扰。
以下示例假设在命令行中操作,且位于
netcdf-c根目录,$(pwd)解析为/netcdf/directory的根路径。
以下命令行选项将重复使用,在此统一说明(完整Docker命令行参数说明见[***]
--rm:容器退出后清理镜像-it:以交互式shell运行,支持ctrl-c终止容器-v:将本地卷挂载到Docker镜像-e:设置环境变量显示镜像帮助文件:
bash$ docker run --rm -it -e CMD=help unidata/nctests:serial
进入容器shell(退出后更改不保留):
bash$ docker run --rm -it unidata/nctests:serial bash
bash$ docker run --rm -it unidata/nctests:serial
bash$ docker run --rm -it -e CBRANCH=working unidata/nctests:serial
bash$ docker run --rm -it -e COPTS="-DENABLE_DAP=OFF" unidata/nctests:serial
bash$ docker run --rm -it -e USEDASH=OFF unidata/nctests:serial
注意:此方式下不会在容器内切换分支,需确保本地仓库已处于要分析的分支。
bash$ docker run --rm -it -v $(pwd):/netcdf-c unidata/nctests:serial
bash$ docker run --rm -it -v $(pwd):/netcdf-c -e USEDASH=OFF -e RUNF=OFF -e RUNCXX=OFF unidata/nctests:serial
bash# docker run --rm -it -e USECMAKE=OFF -e USEAC=TRUE -e CREPS=2 unidata/nctests:serial
运行非串行测试
要在不同环境运行上述示例,可将
nctests:serial替换为nctests:openmpi、nctests:mpich、nctests:serial32等。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务