Extraer una imagen de Docker desde un repositorio

DockerBeginner
Practicar Ahora

Introducción

En este laboratorio, te sumergirás en un laberinto antiguo, asumiendo el papel de un buscador de tesoros con el desafío de recuperar un valioso tesoro escondido en lo profundo del laberinto. Como buscador de tesoros, tu objetivo es navegar a través del laberinto para localizar el tesoro, lo que se asemeja al proceso de extraer imágenes de Docker de un repositorio.

Explorando el Laberinto

Imagina que te encuentras en la entrada de un laberinto místico, listo para emprender una emocionante búsqueda de tesoros escondidos. Docker, al igual que este laberinto, alberga un mundo de posibilidades esperando ser explorado. En este paso, sumergámonos en el laberinto de contenedores e imágenes, preparando el escenario para un emocionante viaje al mundo de Docker.

Así como un buscador de tesoros estudia meticulosamente mapas y pistas, comenzarás tu viaje con Docker navegando por el repositorio: el tesoro de imágenes de contenedores. El repositorio es como una vasta biblioteca que alberga una infinidad de imágenes de Docker, cada una con un propósito único.

Tu primera tarea es identificar la imagen que se ajuste a tu búsqueda. Al igual que elegir la herramienta adecuada para el trabajo, seleccionar la imagen de Docker perfecta es crucial para una expedición exitosa. Utiliza comandos como docker search para filtrar el repositorio y descubrir los tesoros escondidos que te esperan.

docker search <keyword>

Reemplaza <keyword> con términos relevantes a tu búsqueda y observa cómo Docker muestra una lista de imágenes potenciales, cada una con la promesa de cumplir con tus objetivos.

Por ejemplo, para buscar la imagen llamada alpine, puedes usar el siguiente comando.

cd ~/project
docker search alpine

Ejemplo

Si ejecutas el comando correctamente, la salida debe ser similar a la siguiente:

$ docker search alpine
NAME                               DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
alpine                             A minimal Docker image based on Alpine Linux…   10557     [OK]
alpinelinux/docker-cli             Simple and lightweight Alpine Linux image wi…   9
alpinelinux/alpine-gitlab-ci       Build Alpine Linux packages with Gitlab CI      3
alpinelinux/gitlab-runner-helper   Helper image container gitlab-runner-helper …   4
alpinelinux/rsyncd                                                                 2
alpinelinux/unbound                                                                9
alpinelinux/alpine-drone-ci        Build Alpine Linux packages with drone CI       0
alpinelinux/docker-compose         docker-compose image based on Alpine Linux      2
alpinelinux/apkbuild-lint-tools    Tools for linting APKBUILD files in a CI env…   0
alpinelinux/gitlab-runner          Alpine Linux gitlab-runner (supports more ar…   5
alpinelinux/ansible                Ansible in docker                               9
alpinelinux/darkhttpd                                                              2
alpinelinux/docker-alpine                                                          0
alpinelinux/golang                 Build container for golang based on Alpine L…   2
alpinelinux/alpine-docker-gitlab   Gitlab running on Alpine Linux                  0
grafana/alpine                     Alpine Linux with ca-certificates package in…   6
alpinelinux/docker-abuild          Dockerised abuild                               0
alpinelinux/alpine-www             The Alpine Linux public website (www.alpinel…   0

Obteniendo el Mapa

A medida que te adentras más en el laberinto de Docker, encuentras un mapa antiguo: una clave para desentrañar los secretos ocultos dentro. Este mapa, al igual que una imagen de Docker, ofrece la promesa de guía en tu búsqueda del tesoro final.

Obteniendo el Mapa (Imagen de Docker)

docker pull <keyword>

Ejecuta el comando docker pull con el nombre de la imagen identificada, al igual que abrirías el mapa antiguo para revelar sus detalles complejos. Esta acción obtiene la imagen, equipándote con los conocimientos esenciales necesarios para el viaje que se avecina.

En el mundo de Docker, la imagen del mapa actúa como un plano, brindando información sobre la configuración, las dependencias y las complejidades de tu entorno contenedorizado. Sirve como tu luz guía, dirigiéndote a través del laberinto de contenedores.

En este paso, debes extraer la imagen llamada alpine. Puedes ejecutar el siguiente comando en la terminal:

docker pull alpine

Ejemplo

Si ejecutas el comando correctamente, la salida debe ser similar a la siguiente:

$ docker pull alpine
docker pull alpine
Using default tag: latest
latest: Pulling from library/alpine
59bf1c3509f3: Pull complete
Digest: sha256:21a3deaa0d32a8057914f36584b5288d2e5ecc984380bc0118285c70fa8c9300
Status: Downloaded newer image for alpine:latest
docker.io/library/alpine:latest

En el corazón del laberinto de Docker, te encuentras en una encrucijada, rodeado de corredores que conducen a diferentes reinos. Tu próxima tarea es atravesar estos corredores dando vida a tu contenedor Docker. Este paso refleja el proceso de ejecutar un contenedor desde la imagen que has extraído (pulled), iniciando un viaje a través de los intrincados corredores del entorno contenedorizado.

Liberando la Energía del Contenedor

docker run -it --name <container_name> <map_image> <command>

Ejecuta el comando docker run, preparando el escenario para que tu contenedor cobre vida. Los flags -it te otorgan acceso interactivo, permitiéndote navegar por los corredores del contenedor sin problemas. Reemplaza <container_name> con un nombre que resuene con tu búsqueda, y reemplaza <command> con un Linux shell command correcto que quieras que ejecute el contenedor, haciendo de tu contenedor una entidad identificable en este vasto laberinto de Docker.

En este paso, debes ejecutar un contenedor llamado alpine_container y hacer que ejecute el comando /bin/sh. Puedes ejecutar el siguiente comando en la terminal:

docker run -it --name alpine_container alpine /bin/sh

Ejemplo

Si ejecutas el comando correctamente, la salida debe ser similar a la siguiente:

$ docker run -it --name alpine_container alpine /bin/sh
/ ## ls -a
. .dockerenv dev home media opt root sbin sys usr
.. bin etc lib mnt proc run srv tmp var
/ #

Resumen

En este laboratorio, emprendiste una emocionante aventura a través de un laberinto antiguo para recuperar un tesoro escondido, estableciendo paralelismos con el proceso de extraer imágenes de Docker de un repositorio. Al ejecutar cada paso, adquiriste experiencia práctica en la navegación del ecosistema de Docker, reflejando la exploración del laberinto y, finalmente, obtuviste valiosos conocimientos sobre el mundo de la contenedorización.