- Guardar nuestras imágenes en Dockerhub
- Compartir nuestras imágenes
- Conceptos de login y logout
-
Accedemos a DockerHub
Elegimos "Sign Up" para crear una cuenta.
-
Creamos una cuenta
Elegimos un e-mail, un nombre de usuario y una contraseña.
-
Nos llegará un mail para confirmar la cuenta
Confirmemos con el link y accedamos a DockerHub.
-
Accedemos a DockerHub
En la opción "My Profile" podemos listar nuestros repositorios. Como he creado la cuenta recién, no habrá nada que mostrar.
-
Ejecuta el siguiente comando para correr un contenedor basado en la imagen de Debian 12:
docker pull debian:bookworm-slim
-
Una vez descargada la imágen, la ejecutamos con
docker run
:docker run -it --name debian12 debian:bookworm-slim bash # Le agregamos --name solamente para poder identificar el contenedor
-
Una vez dentro del contenedor vamos a hacer un cambio en la imágen
Solo para hacer alguna modificación menor, ejecute el siguiente comando:
echo "echo ESCRIBA UN MENSAJE" >> ~/.bashrc
echo "echo Bienvenido a mi Debian personalizado" >> ~/.bashrc
En mi caso, coloqué el mensaje Bienvenido a mi Debian personalizado. Tal comando solamente mostrará ese mensaje cada vez que inicie una sesión interactiva en el contenedor. Puede mostrar el mensaje que usted quiera.
-
Salir del contenedor escribiendo:
exit
Tal como hicimos en el laboratorio anterior, vamos a hacer una nueva versión de la imágen Debian que incluye nuestro cambio de mensaje de bienvenida.
-
Listemos contenedores:
Ejecutemos el comando
docker ps -al
.La
l
adicional nos mostrará los contenedores mas recientes. Eso es útil principalmente si hemos realizado numerosas pruebas en nuestro sistema y contamos con un gran número de contenedores.$ docker ps -al CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 07b33b71543d debian:bookworm-slim "bash" 3 minutes ago Exited (0) About a minute ago debian12
-
Guardaremos nuestra nueva imágen:
docker commit debian12 debian:bookworm-slim-bienvenida-v1
-
Verifica que la nueva imagen se haya creado:
docker images REPOSITORY TAG IMAGE ID CREATED SIZE debian bookworm-slim-bienvenida-v1 c0cbc2d00e65 About a minute ago 74.8MB debian bookworm-slim 4735ff618e63 3 days ago 74.8MB
-
Verifiquemos que realmente la imágen hace lo que debería:
Ejecutamos
docker run --rm -it debian:bookworm-slim-bienvenida-v1 bash
$ docker run --rm -it debian:bookworm-slim-bienvenida-v1 bash Bienvenido a mi Debian personalizado root@a28bff1ff75f:/#
Si la salida es como la mostrada anteriormente, entonces todo ha salido bien.
Salimos del contenedor con el comando
exit
.
-
Preparando la imaǵen:
Antes de subir la imágen a una registry pública como DockerHub, es necesario hacer un nuevo tag, ya que deberá ser posible identificar unívocamente la imágen del resto de las imágenes públicas. Por eso, hay que especificar nuestro usuario de DockerHub que hemos creado en el punto 1.
Ejecutamos el siguiente comando
docker image tag <IMAGE:TAG> <DOCKER_HUB_USER>/<IMAGE>:<TAG>
. En mi caso como mi user es cgiambruni, el comando quedaría de la siguiente manera:docker image tag debian:bookworm-slim-bienvenida-v1 cgiambruni/debian:bookworm-slim-bienvenida-v1
-
Cargamos nuestras credenciales:
Para poder subir las imágenes necesitamos cargar las credenciales de DockerHub en nuestra computadora.
En la Docker CLI puede hacerse con el comando
docker login
:Username: cgiambruni Password: ******************** Login Succeeded
-
Subir nuestra imágen:
Una vez que las credenciales fueran cargadas con éxito, subiremos las imágenes con el comando
docker push
:docker push cgiambruni/debian:bookworm-slim-bienvenida-v1 The push refers to repository [docker.io/cgiambruni/debian] 5f57f2d5fca8: Pushed 9853575bc4f9: Mounted from library/debian bookworm-slim-bienvenida-v1: digest: sha256:228b6925d99d1673e9ceec3ff6763152d105ba2a6a26eae233a2c324f4e59f9f size: 736
-
Corroboramos que la imágen haya subido a nuestro repositorio:
Abrimos nuevamente DockerHub en "My Profile". Si todo salió bien, debería aparecer algo similar a la imágen:
Si hacemos clic en el repositorio y luego en Tags deberíamos ver lo siguiente:
Para concluir, intentemos eliminar completamente las imágenes recientemente creadas. Para listar las imágenes, use el comando docker images
y para eliminarlas el comando docker rmi <IMAGE_ID>
.
- Una vez las imágenes eliminadas ejecute el comando
docker run --rm -it <USUARIO>/<IMAGE>:<TAG>
. En mi caso será:
$ docker run -it --rm cgiambruni/debian:bookworm-slim-bienvenida-v1 bash
Bienvenido a mi Debian personalizado
Docker debería haber descargado su imágen de DockerHub y mostrar el mensaje personalizado.
Salga del contenedor con el comando exit
.
Antes de finalizar cerremos sesión con el comando docker logout
.
$ docker logout
Removing login credentials for https://index.docker.io/v1/