← Todos los posts

#Contenedor

6 entradas

Listar imágenes Docker que no tienen contenedor asociado

Dejo por aquí un pequeño script bash que nos lista las imágenes Docker que no tienen ningún contenedor creado:


#!/bin/bash

echo "Imágenes sin contenedores:"
docker images --format '{{.ID}} {{.Repository}}:{{.Tag}}' | while read img repo; do
    if ! docker ps --all --quiet --no-trunc | xargs docker inspect --format '{{.Image}}' | grep -q $img; then
        echo "- $repo"
    fi
done

Inicialización de un contenedor con mariadb

En la documentación de la imagen mariadb encontramos que para inicializar la base de datos al crear un contenedor podemos copiar un fichero con extensión sql (por ejemplo, schema.sql) con las instrucciones SQL para la creación de las tablas de la base de datos en el directorio /docker-entrypoint-initdb.d. Podemos usar un fichero Dockerfile con el siguiente contenido:

FROM docker.io/mariadb:10.5
COPY schema.sql /docker-entrypoint-initdb.d/
ENV MARIADB_DATABASE=nombre_basedatos
ENV MARIADB_ROOT_PASSWORD=contraseña_root
ENV MARIADB_USER=usuario
ENV MARIADB_PASSWORD=password

Distrobox

Distrobox nos permite utiliza cualquier distribución de Linux dentro de tu terminal. Distrobox utiliza podman, docker o lilipod para crear contenedores utilizando la distribución de Linux de su elección. El contenedor creado estará estrechamente integrado con el host, permitiendo compartir el directorio HOME del usuario, almacenamiento externo, dispositivos USB externos y apps gráficas (X11/Wayland), y audio.

Imagen OCI quay.io/libpod/banner

Si estás haciendo pruebas con Docker o Podman puedes usar la imagen quay.io/libpod/banner, que nos proporciona un servidor web de pruebas. Es una imagen muy pequeña, sólo ocupa 1.7 MB. La podemos ejecutar:

podman run -d --name miweb -p 8080:80 quay.io/libpod/banner

Y podemos acceder al contenedor: