问题标签 [clair]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
docker - Clair 启动错误 grpc: addrConn.resetTransport failed to create client transport: 连接错误
我正在尝试quay.io/coreos/clair-git:latest
使用 docker-compose 运行 clair docker 映像。启动容器时,它开始抛出此消息。没有得到任何名称空间查询curl -v http://localhost:6060/v1/namespaces
得到 404 的响应。
这是我的工作docker-compose.yml
security - 为什么 Clair 发现的漏洞比 Docker Hub 多得多?
我已经开始使用 Clair 扫描我的图像以查找漏洞。我注意到尽管根据 clair 的说法,标准的 docker hub Python 和 Debian 拉伸图像中存在很多漏洞。在 docker hub 上,这些图像仅提及 zlib 中的漏洞。为什么会有这样的差异?
Docker 集线器:https ://hub.docker.com/r/library/python/tags/3.6-slim-stretch/
克莱尔(通过克莱尔扫描仪):
clair-scanner 在 python:3.6-slim-stretch 图像中发现了 42 个漏洞。使用时相同clairctl
:
然而,当尝试升级它时,没有包:
那么,为什么 Clair 会发现很多误报呢?
docker - 在 Ubuntu 14.04 中为 docker 禁用 ipv6
我对安装在 Ubuntu 14.04 VM 上的 docker 守护程序有疑问。日志显示 ipv6 已启用,因此 docker 似乎正在侦听此 IP 地址。本质上,这会影响Clair。我已确保根据此处的以下建议禁用 ipv6 。我还按照Docker 文档daemon.json
中 的说明禁用了 ipv6 。我的 docker 版本是.Docker version 17.06.1-ce, build 874a737
Docker 守护进程日志:
time="2018-02-20T20:33:17.736203462+01:00" level=info msg="IPv6 enabled; Adding default IPv6 external servers: [nameserver 2001:4860:4860::8888 nameserver 20 01:4860:4860::8844]"
克莱尔日志:
2018/02/20 20:43:51 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: Error while dialing dial tcp [::]:6060: connect: cannot assign requested address"; Reconnecting to {[::]:6060 <nil>}
2018/02/20 20:46:14 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: Error while dialing dial tcp [::]:6060: connect: cannot assign requested address"; Reconnecting to {[::]:6060 <nil>}
docker - 是否可以“安全扫描”运行已部署到 k8s 的 docker 容器?
我们在部署之前对容器进行港口扫描。一旦它们被扫描,我们就会将它们部署到平台 (k8s)。
有没有办法在部署后的几周内扫描一个容器?当然不会干扰部署。
谢谢
docker - 使用 paclair 分析 docker-images 的配置以获取来自 nexus 的 clair
我正在寻找paclair的示例配置,以便我可以运行 paclair 来分析存储在私有 Docker 注册表中的 Docker 映像,该注册表托管在 nexus 中。目前我有以下配置
这适用于托管在 docker.io 上的 Docker 映像,没有任何问题,但是如果我尝试使用此配置针对我的私有 Docker 注册表中的 Docker 映像运行 paclair,即
似乎 paclair 跳过了对 nexus.example.com 的登录,我看不到以下输出的原因:
也许这里有人可以给我一个提示,我可以如何针对私人 nexus-docker-registry 配置 paclair 最好的问候 Dan
docker - Debian docker 镜像错误
我正在使用 clair 扫描我的 docker 图像,我发现我的图像 python:2.7-stretch 基于 Debian:stretch 标记了很多高优先级错误。现在,其中大部分已在较新版本的拉伸(称为拉伸安全)中得到修复。但是我没有在 dockerhub 中看到相应的 debian:stretch-security 版本。有没有办法修复这些错误,还是应该等待 debian 在其基础映像中修复它们?
clair - 在 POST /v1/layers 请求时使用 clair,得到 400 响应错误:'找不到图层'
我在当前的工作中使用 clair(env 是 nodejs)。当我通过 nodejs 模块“clair-client”向 /v1/layers 发送 POST 请求时。我收到一个错误“找不到图层”。该图像来自我的本地存储库,例如“ http://192.168.10.118:5000/ubuntu:16.04 ”。
PS:当我分析官方镜像“ubuntu:16.04”时,clair可以正常工作。在我成功分析图像“ubuntu:16.04”后,我还可以从本地存储库分析图像“ http://192.168.10.118:5000/ubuntu:16.04 ”。我的 postgres 发生了什么错误?我将展示一些有用的信息如下:
- 我的本地存储库中的图像错误
- 成功与官方形象
- 分析官方 iamge 后,从本地存储库分析图像
docker - 无法在容器启动时运行自定义脚本
我正在尝试设置 Clair(Docker 图像漏洞扫描工具)。https://github.com/coreos/clair
我让 Clair 使用 docker-compose 在本地工作正常。问题是,当我将它部署到 AWS 时,我需要指定 postgres 服务器地址、用户名和密码等。构建镜像时不知道 postgres 服务器地址,因此构建 Clair docker 镜像时无法包含它。需要在容器/镜像启动时进行定制。
对于使用数据库的其他应用程序,我通常只自定义 docker 映像并添加一个脚本(在启动时运行),该脚本使用 SED 将正确的值(取自环境变量)插入到应用程序配置文件中。
例如:
Dockerfile
运行时.sh
sed -i -e "s,#POSTGRES_SERVER#,$POSTGRES_SERVER,g" config.yaml
由于某种原因,上述方法不适用于 Clair docker 映像。这种方法适用于许多其他主流图像,所以我认为这是 Clair 图像的特别之处。
我没有收到任何错误,它只是忽略了CMD ["/runtime.sh"]
我的 dockerfile 并像往常一样开始。
有没有人能够指出我如何让我的自定义脚本运行或指出另一种方法来实现同样的事情?
===========更新解决方案===========
问题是 Clair 图像基于 BusyBox,它默认使用ash
shell,而我编写/正在使用的 shell 脚本是为bash
shell 编写的。也许这应该很明显,但我对编写 linux shell 脚本有点陌生,还没有遇到过这个。
我在测试 mchawre 的答案后意识到了这一点,这避免了我遇到的问题,因为它不使用 shell 脚本。
所以我使用的解决方案是安装bash
到镜像中,然后我可以在容器启动时使用我常用的 bash shell 脚本。
Dockerfile
runtime.sh(小摘录)
docker - 容器扫描功能不适用于多个图像
我已经成功地从 GitLab为单个 Docker 映像设置了容器扫描功能。现在我想使用相同的 CI/CD 配置扫描另一个图像.gitlab-ci.yml
问题
看起来合并请求详细信息页面上不可能有多个容器扫描报告。
以下屏幕截图显示了以下配置中两个容器扫描作业的结果。
我们扫描两个 Docker 镜像,它们都有 CVE 需要报告:
iojs:1.6.3-slim
(355 个漏洞)golang:1.3
(1139 个漏洞)
预期结果
容器扫描报告将显示总共 1494 个漏洞 (355 + 1139)。目前看起来只golang
包含图像的结果。
配置的相关部分
完整配置供参考
问题
应该如何配置 GitLab 容器扫描功能以便能够报告两个 Docker 映像的结果?
match - 匹配部分 AST 的根元素
我想使用 Clair 和 Rascal 重构一些 C 代码。我搜索具有特定名称的函数。如果我找到这样的功能,我想用另一个功能替换它。我需要在四个功能之间进行选择。要选择的函数取决于找到的函数的参数。我需要匹配表达式的根元素。
我可以使用访问模式进行匹配。我试过了
这并不能保证我匹配根元素。在 (A != B) == CI 只想匹配 ==
我怎样才能只匹配根元素?