
Container-Image-Linter für Sicherheit, hilft beim Erstellen des Docker-Images nach Best Practices, einfach zu starten
Dockle - Container-Image-Linter für Sicherheit, Hilft beim Erstellen von Best-Practice-Docker-Images, einfacher Einstieg
Dockle hilft Ihnen:
Siehe [Installation](#installation) und [Häufige Beispiele](#common-examples)
<img src="https://assets.kitploit.com/production/public/readmes/4137/343598bd4d53296c6d6d23acde8c2917d5727f03e7b3a34c1ff0865c435bb974.png" width="800">
# Vergleich der Prüfpunkte
<img src="https://assets.kitploit.com/production/public/readmes/4137/4f4835c3a5fd70f436d9d8ea656fd8a521112fece4e35977288064d3f6f4510a.png" width="800">
<img src="https://assets.kitploit.com/production/public/readmes/4137/7bee9da0b061957af6a175a3b975dca82813c27f72ab6921dfe8ab2d6747322b.png" width="800">
# Inhaltsverzeichnis
- [Funktionen](#features)
- [Vergleich](#comparison)
- [Installation](#installation)
- [Homebrew (Mac OS X / Linux und WSL)](#homebrew-mac-os-x--linux-and-wsl)
- [RHEL/CentOS](#rhelcentos)
- [Debian/Ubuntu](#debianubuntu)
- [Arch Linux](#arch-linux)
- [Windows](#windows)
- [Microsoft PowerShell 7](#microsoft-powershell-7)
- [Binärdatei](#binary)
- [asdf](#asdf)
- [mise](#mise)
- [Aus dem Quellcode](#from-source)
- [Docker verwenden](#use-docker)
- [Schnellstart](#quick-start)
- [Grundlagen](#basic)
- [Docker](#docker)
- [Zusammenfassung der Prüfpunkte](#checkpoint-summary)
- [Häufige Beispiele](#common-examples)
- [Ein Image scannen](#scan-an-image)
- [Eine Imagedatei scannen](#scan-an-image-file)
- [Ergebnisse als JSON abrufen oder speichern](#get-or-save-the-results-as-json)
- [Ergebnisse als SARIF abrufen oder speichern](#get-or-save-the-results-as-sarif)
- [Exit-Code festlegen](#specify-exit-code)
- [Exit-Level festlegen](#specify-exit-level)
- [Bestimmte Prüfpunkte ignorieren](#ignore-the-specified-checkpoints)
- [Verdächtige `Umgebungsvariablen` / `Dateien` / `Dateierweiterungen` akzeptieren](#accept-suspicious-environment-variables--files--file-extensions)
- [Verdächtige `Umgebungsvariablen` / `Dateien` / `Dateierweiterungen` ablehnen](#reject-suspicious-environment-variables--files--file-extensions)
- [Kontinuierliche Integration](#continuous-integration-ci)
- [GitHub Action](#github-action)
- [Travis CI](#travis-ci)
- [CircleCI](#circleci)
- [GitLab CI](#gitlab-ci)
- [Autorisierung für private Docker-Registry](#authorization-for-private-docker-registry)
- [Docker Hub](#docker-hub)
- [Amazon ECR (Elastic Container Registry)](#amazon-ecr-elastic-container-registry)
- [GCR (Google Container Registry)](#gcr-google-container-registry)
- [Selbst gehostete Registry (BasicAuth)](#self-hosted-registry-basicauth)
- [Mitwirkende](#contributors)
- [Code-Mitwirkende](#code-contributors)
- [Finanzielle Unterstützer](#financial-contributors)
- [Einzelpersonen](#individuals)
- [Organisationen](#organizations)
- [Lizenz](#license)
- [Autor](#author)
# Funktionen
- Container-Schwachstellen erkennen
- Hilft beim Erstellen von Best-Practice-Dockerfiles
- Einfache Verwendung
- Nur den Image-Namen angeben
- Siehe [Schnellstart](#quick-start) und [Häufige Beispiele](#common-examples)
- CIS-Benchmarks-Unterstützung
- Hohe Genauigkeit
- DevSecOps
- Geeignet für CI wie Travis CI, CircleCI, Jenkins usw.
- Siehe [CI-Beispiel](#continuous-integration-ci)
# Vergleich
| | [Dockle](https://github.com/goodwithtech/dockle) | [Hadolint](https://github.com/hadolint/hadolint) | [Docker Bench for Security](https://github.com/docker/docker-bench-security) | [Clair](https://github.com/coreos/clair) |
|--- |---:|---:|---:|---:|
| Ziel | Image | Dockerfile | Host<br/>Docker-Daemon<br/>Image<br/>Container-Laufzeit | Image |
| Ausführung | Binärdatei | Binärdatei | Shell-Skript | Binärdatei |
| Abhängigkeiten | Nein | Nein | Einige Abhängigkeiten | Nein |
| CI-geeignet | ✓ | ✓ | x | x |
| Zweck | Sicherheitsaudit<br/>Dockerfile-Lint | Dockerfile-Lint | Sicherheitsaudit<br/>Dockerfile-Lint | Schwachstellen scannen |
# Installation
## Homebrew (Mac OS X / Linux und WSL)
Sie können Homebrew unter [Mac OS X](https://brew.sh/) oder [Linux und WSL (Windows-Subsystem für Linux)](https://docs.brew.sh/Homebrew-on-Linux) verwenden.```bash
$ brew install goodwithtech/r/dockle
VERSION=$(
curl --silent "https://api.github.com/repos/goodwithtech/dockle/releases/latest" |
grep '"tag_name":' |
sed -E 's/."v([^"]+)"./\1/'
) && rpm -ivh https://github.com/goodwithtech/dockle/releases/download/v${VERSION}/dockle_${VERSION}_Linux-64bit.rpm
## Debian/Ubuntu```bash
VERSION=$(
curl --silent "https://api.github.com/repos/goodwithtech/dockle/releases/latest" | \
grep '"tag_name":' | \
sed -E 's/.*"v([^"]+)".*/\1/' \
) && curl -L -o dockle.deb https://github.com/goodwithtech/dockle/releases/download/v${VERSION}/dockle_${VERSION}_Linux-64bit.deb
$ sudo dpkg -i dockle.deb && rm dockle.deb
dockle kann aus dem Arch User Repository mit dem Paket dockle oder dockle-bin installiert werden.```
git clone https://aur.archlinux.org/dockle-bin.git
cd dockle-bin
makepkg -sri
## Windows```bash
VERSION=$(
curl --silent "https://api.github.com/repos/goodwithtech/dockle/releases/latest" | \
grep '"tag_name":' | \
sed -E 's/.*"v([^"]+)".*/\1/' \
) && curl -L -o dockle.zip https://github.com/goodwithtech/dockle/releases/download/v${VERSION}/dockle_${VERSION}_Windows-64bit.zip
$ unzip dockle.zip && rm dockle.zip
$ ./dockle.exe [IMAGE_NAME]
if (((Invoke-WebRequest "https://api.github.com/repos/goodwithtech/dockle/releases/latest").Content) -match '"tag_name":"v(?[^"]+)"') { $VERSION=$Matches.ver && Invoke-WebRequest "https://github.com/goodwithtech/dockle/releases/download/v${VERSION}/dockle_${VERSION}_Windows-64bit.zip" -OutFile dockle.zip && Expand-Archive dockle.zip && Remove-Item dockle.zip }
## Binärdatei
Sie können die neueste Binärversion von der [Releases-Seite](https://github.com/goodwithtech/dockle/releases/latest) herunterladen.
Laden Sie die Archivdatei für Ihr Betriebssystem/Ihre Architektur herunter. Entpacken Sie das Archiv und legen Sie die Binärdatei in Ihrem `$PATH` ab (auf UNIX-ähnlichen Systemen `/usr/local/bin` oder ähnlich).
- HINWEIS: Stellen Sie sicher, dass die Ausführungsbits gesetzt sind. (`chmod +x dockle`)
## asdf
Sie können dockle mit dem [asdf-Versionmanager](https://asdf-vm.com/) und diesem [Plugin](https://github.com/mathew-fleisch/asdf-dockle) installieren, das den Installationsprozess (und das Wechseln zwischen) verschiedener Versionen von GitHub-Release-Binärdateien automatisiert. Wenn asdf bereits installiert ist, führen Sie diese Befehle aus, um dockle zu installieren:```bash
# Add dockle plugin
asdf plugin add dockle