Construir una imagen con un archivo adjunto
En este paso, aprenderemos cómo construir una imagen de Docker y adjuntarle metadatos. Los archivos adjuntos son una forma de incluir información adicional con tu imagen, como la procedencia de la compilación, la lista de materiales de software (SBOM, por sus siglas en inglés) u otros datos relevantes.
Primero, creemos un Dockerfile simple. Navega al directorio ~/project
si no estás allí.
cd ~/project
Ahora, crea un archivo llamado Dockerfile
usando el editor nano
.
nano Dockerfile
Agrega el siguiente contenido al Dockerfile
:
FROM alpine:latest
CMD ["echo", "Hello, Docker Attachments!"]
Este Dockerfile es muy simple. Utiliza la imagen alpine:latest
como base y define un comando para imprimir un mensaje cuando el contenedor se inicia.
Guarda el archivo y sal de nano
(presiona Ctrl + X
, luego Y
, luego Enter
).
A continuación, necesitamos crear un archivo que adjuntaremos a la imagen. Creemos un archivo de texto simple llamado attachment.txt
.
nano attachment.txt
Agrega algún contenido a attachment.txt
, por ejemplo:
This is an example attachment for the Docker image.
It can contain any relevant metadata.
Guarda el archivo y sal de nano
.
Ahora, construiremos la imagen de Docker y adjuntaremos el archivo attachment.txt
. Usaremos el comando docker build
con la bandera --attest
. La bandera --attest
te permite especificar un archivo adjunto para incluir en la compilación de la imagen. El formato es type=tipo,dest=destino,src=origen
.
En nuestro caso, usaremos type=sbom
(Software Bill of Materials) como tipo, dest=/sbom/attachment.txt
como ruta de destino dentro del adjunto y src=attachment.txt
como archivo de origen en nuestro sistema de archivos local. También etiquetaremos la imagen como my-attached-image:latest
.
Antes de construir, asegúrate de tener el plugin buildx necesario instalado. Si no lo tienes, es posible que necesites instalarlo. Sin embargo, para adjuntos básicos, el constructor integrado debería ser suficiente.
Construyamos la imagen:
docker build -t my-attached-image:latest --attest type=sbom,dest=/sbom/attachment.txt,src=attachment.txt .
El .
al final del comando especifica el contexto de compilación, que es el directorio actual (~/project
).
Deberías ver una salida que indica que la imagen se está construyendo y el adjunto se está procesando.
Una vez completada la compilación, puedes verificar que la imagen fue creada listando tus imágenes locales.
docker images
Deberías ver my-attached-image
en la lista.