Ein Image mit Anhang erstellen
In diesem Schritt lernen Sie, wie man ein Docker-Image baut und Metadaten daran anhängt. Anhänge (attachments) sind eine Möglichkeit, zusätzliche Informationen wie Build-Herkunft (build provenance), Software Bill of Materials (SBOM) oder andere relevante Daten mit dem Image zu verknüpfen.
Erstellen wir zunächst ein einfaches Dockerfile. Navigieren Sie in das Verzeichnis ~/project
, falls Sie nicht bereits dort sind.
cd ~/project
Erstellen Sie nun eine Datei namens Dockerfile
mit dem nano
-Editor.
nano Dockerfile
Fügen Sie folgenden Inhalt zum Dockerfile
hinzu:
FROM alpine:latest
CMD ["echo", "Hello, Docker Attachments!"]
Dieses Dockerfile ist sehr einfach. Es verwendet das alpine:latest
-Image als Basis und definiert einen Befehl, der beim Start des Containers eine Nachricht ausgibt.
Speichern Sie die Datei und beenden Sie nano
(Drücken Sie Strg + X
, dann Y
, dann Enter
).
Als Nächstes erstellen wir eine Datei, die wir an das Image anhängen werden. Erstellen wir eine einfache Textdatei namens attachment.txt
.
nano attachment.txt
Fügen Sie etwas Inhalt zu attachment.txt
hinzu, zum Beispiel:
This is an example attachment for the Docker image.
It can contain any relevant metadata.
Speichern Sie die Datei und beenden Sie nano
.
Nun bauen wir das Docker-Image und hängen die attachment.txt
-Datei an. Wir verwenden den docker build
-Befehl mit dem --attest
-Flag. Das --attest
-Flag ermöglicht es, einen Anhang für den Image-Build anzugeben. Das Format lautet type=typ,dest=ziel,src=quelle
.
In unserem Fall verwenden wir type=sbom
(Software Bill of Materials) als Typ, dest=/sbom/attachment.txt
als Zielpfad innerhalb des Anhangs und src=attachment.txt
als Quelldatei auf unserem lokalen Dateisystem. Wir versehen das Image außerdem mit dem Tag my-attached-image:latest
.
Stellen Sie vor dem Build sicher, dass das buildx-Plugin installiert ist. Falls nicht, müssen Sie es möglicherweise installieren. Für grundlegende Anhänge sollte jedoch der integrierte Builder ausreichen.
Lassen Sie uns das Image bauen:
docker build -t my-attached-image:latest --attest type=sbom,dest=/sbom/attachment.txt,src=attachment.txt .
Der .
am Ende des Befehls gibt den Build-Kontext an, in diesem Fall das aktuelle Verzeichnis (~/project
).
Sie sollten eine Ausgabe sehen, die anzeigt, dass das Image gebaut und der Anhang verarbeitet wird.
Nach Abschluss des Builds können Sie überprüfen, ob das Image erstellt wurde, indem Sie Ihre lokalen Images auflisten.
docker images
Sie sollten my-attached-image
in der Liste sehen.