1通过签名防篡改:Notary
从Docker安全模块剥离出来的新项目,地址https://github.com/theupdateframework/notary
notary -d ~/.docker/trust status docker.io/library/alpine
2.漏洞的扫描:Snyk ,Trivy,Clair
2.1 Snyk
#测试扫描
$ snyk test --docker tomcat:8.0 --file=/data/image/Dockerfile
#监控奖项是否发生变化
$ snyk monitor --docker tomcat:8.0
2.2 Trivy
下载地址:https://github.com/knqyf263/trivy/releases
镜像版本:knqyf263/trivy
#通过镜像扫描
$ docker run --rm -v [YOUR_CACHE_DIR]:/root/.cache/ knqyf263/trivy [YOUR_IMAGE_NAME]
# 扫面本地仓库或者远程仓库(需要配置仓库信息)
$ trivy tomcat:8.0
# 扫面本地文件
$ docker save tomcat:8.0 > tomcat-8.0.tar
$ trivy --input tomcat-8.0.tar
#保存结果
$ trivy -f json -o results.json tomcat-8.0.tar
#按照级别过滤结果
$ trivy --severity HIGH,CRITICAL tomcat-8.0.tar
#按类型过滤结果
$ trivy --vuln-type [os | library ] tomcat-8.0.tar
#不同的漏洞制定不同的错误退出码
$ trivy --exit-code 0 --severity MEDIUM,HIGH tomcat-8.0.tar
$ trivy --exit-code 1 --severity CRITICAL tomcat-8.0.tar
3.hadolint 分析 Dockerfile 并列出不符合最佳实践规则的地方。
docker run -rm hadolint/hadolint < Dockerfile