Vamos a ver los diversos registros Docker que nos permitirán gestionar las Imagenes Docker.
Los registros Docker sirven para almacenar las diversas imagenes Docker que utilicemos en nuestro sistema. De esta forma podremos subir imagenes nuevas a los registros, o descargarlas cuando las necesitemos en alguna maquina Docker.
Autoría de la imagen: Docker Hub
Gestionando imagenes Docker desde un Registro Docker
La forma más facil de hacer que nuestras imagenes Docker estén disponibles para cuando las necesitemos, es usar un registro Docker, como Docker Hub, Docker Cloud o Github Docker, o incluso ejecutando nuestro propio registro privado de Docker.
Existen registros (repositorios) públicos de imagenes Docker.
Registros donde podemos encontrar imagenes Docker:
- Docker Cloud
- Docker Hub
- Github Docker
- Registro privado.
En este artículo:
- 1. Subir o Descargar imagenes de un registro Docker
- 2. Subir Imagenes a Registro Docker
- 3. Subir o descargar imagenes Docker al registro Docker, desde Portainer
- 4. Los Registros públicos Docker
1. Subir o Descargar imagenes de un registro Docker
Podemos subir imagenes Docker a nuestro registro con:
docker pull image |
Y descargar imagenes de nuestro registro con:
docker push image |
Autoría de la imagen: Docker Hub
Subir Imagenes a Registro Docker
Para gestionar correctamente las imagenes Docker, hemos de usar una sintaxis concreta.
PASOS NECESARIOS PARA SUBIR IMAGENES DOCKER A NUESTRO REGISTRO
1 – Autenticarnos en nuestro registro:
docker login --username username --password password |
2 – Etiquetar la imagen:
docker tag my-image username/my-repo |
3 – Subir la imagen al registro:
docker push username/my-repo |
1 – Autenticarnos en nuestro registro Docker:
El primer paso es configurar la variable de entorno DOCKER_ID_USER como nuestro nombre de usuario (por ej. en Docker Cloud).
export DOCKER_ID_USER="username" |
y luego hacer login:
docker login |
2. Etiquetar una imagen Docker
Si ejecutamos docker tag en la terminal, podremos ver la ayuda del comando:
docker tag |
2.1.2 a) Sintaxis para etiquetar imagenes Docker
La sintaxis adecuada para etiquetar imagenes Docker es:
docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG] |
Veamos ejemplos:
según la terminal:
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG] |
por ejemplo:
docker tag hypriot/armhf-hello-world:latest hypriot/armhf-hello-world:hello-world |
También es posible que otras versiones de Docker requieran hacerlo de esta forma:
docker tag my_image $DOCKER_ID_USER/my_image |
Y vemos que se ha creado la imagen de hello-world con la etiqueta que le hemos asignado: hello-world
3. Subir imagenes a registro Docker con “docker push“
según la ayuda de la terminal. la sintaxis correcta es:
docker push [OPTIONS] NAME[:TAG] [flags] |
También puede funcionar esta otra versión del comando (dependerá del registro que estemos utilizando; más comúnmente Docker Cloud)
docker push $DOCKER_ID_USER/my_image |
Ejemplo de funcionamiento de docker tag y docker push:
root@black-pearl:~# docker tag f897b028160c DOCKER_ID_USER/test:hello-world2 root@black-pearl:~# docker push DOCKER_ID_USER/test The push refers to repository [docker.io/DOCKER_ID_USER/test] 5f70bf18a086: Mounted from hypriot/armhf-hello-world 3c547ef8d13b: Mounted from hypriot/armhf-hello-world hello-world2: digest: sha256:f3ebad346b9f4ba1455b8c8831b2507f0b7131e2153b67350b16a87233031a74 size: 730 |
Subir o descargar imagenes Docker a un registro Docker, desde Portainer
Accedemos a la sección de Images. Y vemos la posibilidad de elegir el registro (a la derecha, y elegimos Docker Hub), el nombre de la imagen que buscamos, y el botón de Download.
Buscamos la imagen, y pulsamos sobre Descargar:
La imagen ha sido correctamente subida al registro Docker: Image successfully pulled
Y si pulsamos sobre el ID de imagen podremos ver las diferentes imagenes Docker taggeadas (etiquetadas):
Image details:
Los Registros públicos Docker
Vamos a ver rapidamente los diversos repositorios Docker que comentábamos anteriormente
DOCKER HUB
DOCKER CLOUD
GITHUB DOCKER
CONCLUSIÓN
Los registros Docker son de extrema utilidad para disponer de un repositorio de imagenes Docker accesibles en todo momento, y para tenerlas catalogadas y organizadas. También sirven para compartir los repositorios haciéndolos públicos.
¿A qué esperas para practicar con los registros Docker? 😉