Gestión de imágenes
SEARCH
El Registry de imágenes público Docker Hub se puede buscar mediante web o con el comando search
:
docker search ubuntu | head
desplegará la totalidad de las imágenes que posean ubuntu en su nombre o descripción.
En Docker Hub existen dos tipos de imágenes:
- imágenes oficiales, que son mantenidas por Docker y reciben aportes de la comunidad. Están pensadas para repositorio de distribuciones, mejores prácticas, seguridad. Se identifican por su nombre sin barra:
ubuntu
y por tener el atributo OFFICIAL
docker search --filter is-official=true ubuntu
- imágenes de usuarios, son creadas, mantenidas y compartidas por usuarios. Se identifican por anteponer el nombre del usuario:
username/imagen
docker search tutum
Listar tags
Podemos consultar por el tag
de la imagen, directamente invocando al api del registry que nos devolverá un JSON que podemos filtrar con el comando jq
:
curl -s -S 'https://registry.hub.docker.com/v2/repositories/library/ubuntu/tags/' | jq '."results"[]["name"]' |sort
PULL
La forma de descargar una imagen para incorporarla al repositorio local es con el comando pull
:
docker pull ubuntu:bionic
run
además de ejecutar una imagen docker, también la descarga y la deja en el repositorio si no está descargada.
TAG
El comando tag
permite poner el nombre que queremos a una imagen en el formato repositorio:etiqueta
docker tag ubuntu:bionic pruebas:locales
Que generará una nueva entrada en el repositorio local con el nombre que deseamos:
REPOSITORY TAG IMAGE ID CREATED SIZE
pruebas locales 452a96d81c30 5 weeks ago 79.6MB
ubuntu bionic 452a96d81c30 5 weeks ago 79.6MB
En el repositorio local podemos hacer búsqueda de imágenes con diferentes filtros:
docker images ubuntu:*
Y el comando docker images
posee la opción --filter
que permite buscar imágenes por distintas características
-f, --filter valor Filtrado de la salida basado en condiciones
- dangling=(true|false)
- label=<key> o label=<key>=<value>
- before=(<image-name>[:tag]|<image-id>|<image@digest>)
- since=(<image-name>[:tag]|<image-id>|<image@digest>)
- reference=(pattern of an image reference)
Buscar imágenes que no están asociadas (unused) a un contenedor ejecutándose:
docker images --filter "running=false"
Buscar imágenes que no están asociadas a una nueva imagen (nueva capa):
docker images --filter "dangling=true"
INSPECT
Permite obtener información detallada de una imagen que se encuentra descargada.
Conocer el CMD que corre al arrancar:
$ docker image inspect hello-world
"Cmd": [
"/hello"
],
Ver los puertos que están EXPOSE:
$ docker image inspect andygrunwald/simple-webserver:latest
"ExposedPorts": {
"8082/tcp": {}
},
RMI
Para borrar imágenes del repositorio local se utiliza el comando rmi
:
docker images rmi pruebas:locales
Para borrar todas las imágenes que no están en uso actualmente (unused y dangling):
docker images prune
Ejercicios
1.
Descargar la imagen de ubuntu correspondiente a xenial