Ejemplo de Imagen de Bootc de Fedora IoT con Quay

Crear y Arrancar una Imagen de Fedora IoT Bootc

Este ejemplo funciona a través de creación y arranque de una imagen bootc de Fedora IoT utilizando Quay.io, así como proporcionar una actualización para un sistema de arranque para Fedora IoT.

Este ejemplo se basa en la documentación de bootc de Fedora acerca de construir desde cero imágenes; referencia a los docs últimos aquí.
Este ejemplo asume que el usuario tiene una cuenta Quay con la habilidad de crear repositorios personales.

Para comenzar, cree un Containerfile.custom con el contenido siguiente:

FROM quay.io/fedora-testing/fedora-bootc:rawhide-standard como constructor
RUN /usr/libexec/bootc-base-imagectl build-rootfs --manifest=fedora-iot /target-rootfs

FROM scratch
COPY --from=builder /target-rootfs/ /
LABEL containers.bootc 1
ENV container=oci
STOPSIGNAL SIGRTMIN+3
CMD ["/sbin/init"]

Ahora está preparado para construir una imagen bootcv de Fedora IoT utilizando el archivo contenedor personal hecho anteriormente. Utilice esta instrucción:

podman build --cap-add=all --security-opt=label=type:container_runtime_t \
--device /dev/fuse -t localhost/fedora-iot -f Containerfile.custom .

Después, etiquete su imagen de Fedora IoT bootc:

etiquetado podman de localhost/fedora-iot:última quay.io/[nombre repo quay]_fedora-iot

Antes de proporcionar a Quay.io, puede necesitar acceder: ---- podman login quay.io

Proporcione su imagen nueva de Fedora IoT bootc para Quay.io utilizando la instrucción siguiente. Note que puede necesitar acceder de nuevo:

podman push quay.io/[nombre repositorio quay]:fedora-iot

NOTE: El siguiente paso utiliza `podman-bootc`. Si necesita instalar `podman-bootc`, por favor siga las instrucciones en el https://github.com/containers/podman-bootc[repositorio podman-bootc]

Ahora, arranque su imagen Fedora IoT bootc. Abra una ventana de terminal nueva y ejecute:

podman-bootc run --filesystem=ext4 quay.io/[quay repository name]:fedora-iot

`podman-bootc` extraerá su imagen y la iniciará dentro de una MV en la ventana de terminal, lo que le permitirá probar todo lo que las imágenes de arranque de Fedora IoT tienen para ofrecer.

== Cómo enviar una actualización a su sistema de arranque bootc Fedora IoT

Tras completar el tutorial anterior, ¡ya tienes un sistema bootc de Fedora IoT funcional! Pero ¿qué pasa si necesitas hacer algún cambio? Actualizar un sistema bootc es increíblemente sencillo: solo sigue los pasos a continuación.

NOTE: Este tutorial asume que acaba de completar el tutorial anterior y tiene acceso a un sistema arrancado con bootc de Fedora IoT.

Primero, navegue a su repositorio de Imágenes Base de Bootc Fedora y cree un archivo contenedor llamado `Containerfile.fix` con sus cambios deseados.

Después, recompile su imagen `localhost/fedora-iot` utilizando el archivo contenedor nuevo:

podman build --cap-add=all --security-opt=label=type:container_runtime_t \ --device /dev/fuse -t localhost/fedora-iot -f Containerfile.fix .

Etiquete su imagen actualizada de Fedora IoT bootc:

etiquetado podman de localhost/fedora-iot:última quay.io/[nombre repo quay]_fedora-iot

Antes de proporcionar a Quay.io, puede necesitar acceder:

podman login quay.io

Empuja tu imagen bootc de Fedora IoT de actualización a Quay.io, utilizando la instrucción siguiente:

podman push quay.io/[nombre repositorio quay]:fedora-iot

Después de realizar el envío con éxito, regrese a su máquina virtual ejecutando su imagen de arranque de Fedora IoT. Descargue y encole la imagen actualizada para su siguiente reinicio:

bootc upgrade

Ejecute la siguiente instrucción para ver su imagen actualizada establecida para el siguiente rearranque:

bootc status

Rearranque su sistema bootc de Fedora IoT y utilice su imagen nueva actualizada:

reiniciar

Después de reiniciar, es posible que necesite volver a acceder por SSH a su sistema de arranque Fedora IoT. Para hacerlo, primero enumere todas las MV de podman-bootc:

podman-bootc list

Después encuentre el ID de su máquina deseada y ejecute lo siguiente:

podman-bootc ssh [ID]

Tras reconectar, ejecute la comprobación del estado de nuevo:

bootc status

Su imagen actualizada ahora mostraría como `Booted`, y la imagen anterior como `Rollback`. Ha actualizado correctamente su sistema bootc de Fedora IoT.