Gestión de Imágenes
Para crear un contenedor es necesario usar una imagen que tengamos descargado en nuestro registro local. Por lo tanto al ejecutar docker run
se comprueba si tenemos la versión indicada de la imagen y si no es así, se precede a su descarga.
Las principales instrucciones para trabajar con imágenes son:
docker images
: Muestra las imágenes que tenemos en el registro local.docker pull
: Nos permite descargar la última versión de la imagen indicada.docker search
: Nos permite buscar imágenes en Docker Hub.docker rmi
: Nos permite eliminar imágenes. No podemos eliminar una imágen si tenemos algún contenedor creada a partir de ella.docker inspect
: nos da información sobre la imágen indicada:- El id y el checksum de la imagen.
- Los puertos abiertos.
- La arquitectura y el sistema operativo de la imagen.
- El tamaño de la imagen.
- Los volúmenes.
- El ENTRYPOINT que es lo que se ejecuta al hacer
docker run
. - Las capas.
- Y muchas más cosas....
docker history
: No permite ver el historial de una imagen descargada, es decir, en qué versiones se basa.
Listar imágenes locales¶
Podemos obtener información de qué imágenes tenemos almacenadas localmente usando:
$docker images
Obteniendo un resultado similar al siguiente:
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest a8780b506fa4 4 days ago 77.8MB
httpd latest fe8735c23ec5 12 days ago 145MB
Listar imágenes para su descarga¶
Podemos obtener información de imágenes que podemos descargar en el registro (Docker Hub) utilizando el comando docker search. Por ejemplo con el siguiente comando:
$docker search ubuntu
Nos aparecen aquellas imágenes disponibles en Docker Hub con esa palabra.
Descargar imágenes¶
Podemos almacenar imágenes localmente desde el registro sin necesidad de crear un contenedor mediante el comando docker pull, claramente inspirado en sistemas de control de versiones como “git”.
$docker pull ubuntu:20.04
Este comando nos descarga la imagen “ubuntu” con el tag “20.04”, como vemos a continuación:
$ docker pull ubuntu:20.04
20.04: Pulling from library/ubuntu
eaead16dc43b: Pull complete
Digest: sha256:450e066588f42ebe1551f3b1a535034b6aa46cd936fe7f2c6b0d72997ec61dbd
Status: Downloaded newer image for ubuntu:20.04
docker.io/library/ubuntu:20.04
Eliminar imágenes con docker rmi¶
Si queremos eliminar imágenes descargadas que no vamos a utilizar o hemos descargado por error una versión incorrecta, etc., debemos utilizar el comando:
$docker rmi ubuntu:20.04
Eliminar todas las imágenes que no se están utilizando
Una forma de eliminar todas las imágenes locales que no estén siendo utilizadas por un contenedor, es combinando docker images -q
para obtener la lista y docker rmi
para eliminar la lista obtenida.
$docker rmi $(docker images -q)
Eliminar todas la imágenes y contenedores¶
Una forma de realizar las operaciones anteriores de golpe, es usando docker system prune -a
, que elimina todas las imágenes y contenedores parados.
-
Paso 1. Paramos todos los contenedores (opcional).
$docker stop $(docker ps -a -q)
-
Paso 2. Borramos todos los contenedores.
$docker system prune -a