本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
使用Docker容器化的Meterian Client扫描项目中的漏洞。您无需安装Meterian Scanner客户端运行所需的任何依赖,扫描将在Docker容器内的隔离环境中进行。此Docker镜像包含Java运行时以及Meterian平台支持的所有平台所需的工具。
首先,在主机上安装Docker,并确保可以以非root用户身份使用Docker。
使用容器化Meterian Client的最简单方法是通过脚本meterian-docker(下载)。它接受Meterian PDF手册中提到的所有标准参数,用法完全相同,但不能在交互模式下使用,因此需要通过环境变量METERIAN_API_TOKEN提供有效的令牌。建议在启动脚本中设置此变量。
假设已将脚本添加到路径中,只需进入项目文件夹并运行:
meterian-docker
或者,设置环境变量METERIAN_WORKDIR指定项目文件夹路径,然后运行便捷脚本:
export METERIAN_WORKDIR=/project-folder meterian-docker
其工作方式与正常调用客户端完全相同。请注意,默认情况下,脚本会将包管理器使用的标准库缓存文件夹绑定到容器中(如下表所示),以确保执行速度与在本地机器上运行相同。如果需要,可以通过添加--unbound参数禁用此行为。
目前,此容器化版本支持以下平台:
请注意,如果不需要完整版,我们还提供平台特定镜像。
如果需要显式运行Docker,也可以执行以下命令。运行容器的基本方式如下:
PWD=your-project-folder docker run -it --rm \ --volume ${PWD}:/workspace \ --env METERIAN_API_TOKEN=your-token-here \ meterian/cli
请注意,在此情况下,工具使用的本地缓存不会被绑定。建议绑定这些文件夹,最简单的方法是使用提供的meterian-docker脚本。
如果需要手动操作,例如为Maven构建绑定Java缓存:
PWD=your-project-folder docker run -it --rm \ --volume ${PWD}:/workspace \ --env METERIAN_API_TOKEN=your-token-here \ --mount type=bind,source=${HOME}/.m2,target=/home/meterian/.m2 \ meterian/cli
在某些情况下(如dotnet),需要指定UID和GID才能正常工作,示例如下:
PWD=your-project-folder HOST_UID=`id -u` HOST_GID=`id -g` docker run -it --rm \ --volume ${PWD}:/workspace \ --env METERIAN_API_TOKEN=your-token-here \ --mount type=bind,source=${HOME}/.dotnet,target=/home/meterian/.dotnet \ --mount type=bind,source=${HOME}/.nuget,target=/home/meterian/.nuget \ --env HOST_UID=${HOST_UID} \ --env HOST_GID=${HOST_GID} \ meterian/cli
容器中的脚本由meterian用户运行,其主目录为/home/meterian。可在meterian-docker脚本源码中查看工作原理。如有任何问题,请通过支持渠道联系我们。
容器化客户端在构建时包含最新版本的客户端,且在镜像中保持不变。为确保用户始终使用最新版本,默认情况下会在检测到更新时自动更新。要禁用此行为,可设置环境变量CLIENT_AUTO_UPDATE:
export CLIENT_AUTO_UPDATE=false
.ssh和.gitconfig以允许Go下载私有模块通过将~/.ssh和Git配置绑定到Docker容器中,可允许Go下载非公开代码。以下是示例代码片段,有关此实践的更多信息,请阅读此处:
git config --global url.ssh://***/.insteadOf [***] docker run --rm \ --volume ${PWD}:/workspace \ -e METERIAN_API_TOKEN=$METERIAN_API_TOKEN \ -e GOPRIVATE=$GOPRIVATE \ --volume ${HOME}/.ssh:/home/meterian/.ssh \ --volume ${HOME}/.gitconfig:/home/meterian/.gitconfig \ meterian/cli
注意:如上所述,从Go 1.13版本开始,需要设置GOPRIVATE环境变量才能正常工作,因此需要将其暴露给容器。
要允许非root用户使用Docker,可运行以下命令:
sudo setfacl --modify user:<用户名或ID>:rw /var/run/docker.sock

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429