概要
Dockle を利用してコンテナベストプラクティスに沿っているかチェックする。
例えば以下のようなチェック項目がある。
- コンテナ用のユーザが作成されているか
- Dockerfile 内に機密情報が記載されてない
Trivy との違いとして、チェック基準が異なる。なので併用して使う。
- Trivy : イメージの脆弱性をチェック、CVE などの脆弱性データベースに基づく
- Dockle : イメージ設定不備をチェック、CIS ベンチマークに基づく
Dockle チュートリアル
準備
Mac の場合。
$ brew untap goodwithtech/dockle # who use 0.1.16 or older version
$ brew install goodwithtech/r/dockle
$ dockle [YOUR_IMAGE_NAME]
チェック
手元にあった Next.js のコンテナイメージをチェック。
$ dockle nextjs-docker:7ba2153308326f3ab4fdc79ee955d5657afaf4f2
INFO - CIS-DI-0005: Enable Content trust for Docker
* export DOCKER_CONTENT_TRUST=1 before docker pull/build
INFO - CIS-DI-0006: Add HEALTHCHECK instruction to the container image
* not found HEALTHCHECK statement
INFO - CIS-DI-0005: Enable Content trust for Docker
イメージの信頼性、整合性のチェック。
INFO - CIS-DI-0006: Add HEALTHCHECK instruction to the container image
ヘルスチェックがないとのこと。