BugSlayer-Henrry-Introducción-a-Contenedores-Docker-y-IBM-Cloud-Container-Registry

Introducción a Contenedores, Docker y IBM Cloud Container Registry

Objetivos

En este laboratorio, usted:

  • Extraerá una imagen de Docker Hub

  • Ejecutará una imagen como un contenedor usando docker

  • Construirá una imagen usando un Dockerfile

  • Subirá una imagen al IBM Cloud Container Registry


Verificar el entorno y las herramientas de línea de comandos

Abre una ventana de terminal utilizando el menú en el editor: Terminal > New Terminal.

Nota: Si la terminal ya está abierta, por favor omite este paso.

image

Verifica que Docker CLI esté instalado

docker --version

Deberías ver la siguiente salida, aunque la versión puede ser diferente:

image

Verifica que IBM Cloud CLI esté instalado

ibmcloud version

Deberías ver la siguiente salida, aunque la versión puede ser diferente:

image

Cambia a la carpeta de tu proyecto

Nota: Si ya estás en la carpeta /home/project, por favor omite este paso.

cd /home/project

Clona el repositorio de Git que contiene los artefactos necesarios para este laboratorio, si no existe ya:

[ ! -d 'CC201' ] && git clone https://github.com/ibm-developer-skills-network/CC201.git
image

Cambia al directorio de este laboratorio:

cd CC201/labs/1_ContainersAndDocker/

Enumera el contenido del directorio:

ls
image

Extraer una imagen de Docker Hub y ejecutarla como un contenedor

Lista tus imágenes:

docker images

Deberías ver una tabla vacía:

image

Descarga la imagen hello-world de Docker Hub:

docker pull hello-world
image

Lista las imágenes nuevamente:

docker images
image

Ejecuta la imagen como un contenedor:

docker run hello-world
image

Lista los contenedores:

docker ps -a
image

Elimina el contenedor (reemplaza <container_id> con el ID obtenido anteriormente):

docker container rm <container_id>
image

Verifica la eliminación:

docker ps -a
image

Construir una imagen usando un Dockerfile

El directorio contiene una aplicación de Node.js. Los archivos necesarios son:

  • app.js (aplicación principal)

  • package.json (dependencias)

  • Dockerfile (instrucciones para construir la imagen)

image

Construye la imagen:

docker build . -t myimage:v1
image

Lista las imágenes para verificar:

docker images
image

Ejecuta la imagen como un contenedor:

docker run -dp 8080:8080 myimage:v1
image

Prueba la aplicación:

curl localhost:8080
image

Detén el contenedor:

docker stop $(docker ps -q)
image

Verifica que se haya detenido:

docker ps
image

Subir la imagen al IBM Cloud Container Registry

Verifica la cuenta de IBM Cloud:

ibmcloud target
image

Verifica los espacios de nombres en IBM Cloud Container Registry:

ibmcloud cr namespaces

Deberías ver dos espacios de nombres listados que comienzan con sn-labs:

El primero, con tu nombre de usuario, es un espacio de nombres solo para ti. Tienes acceso completo de lectura y escritura a este espacio de nombres. El segundo espacio de nombres, que es un espacio de nombres compartido, solo te proporciona acceso de lectura.

Asegúrate de que estás apuntando a la región adecuada para tu cuenta en la nube, por ejemplo, la región us-south donde residen estos espacios de nombres, como viste en la salida del comando ibmcloud target.

ibmcloud cr region-set us-south
image

Inicia sesión en el daemon de Docker local en IBM Cloud Container Registry para que puedas subir y bajar imágenes del registro.

ibmcloud cr login
image

Exporta tu espacio de nombres como una variable de entorno para que pueda ser utilizada en comandos posteriores.

export MY_NAMESPACE=sn-labs-$USERNAME
image

Etiqueta tu imagen para que pueda ser enviada al Registro de Contenedores de IBM Cloud.

docker tag myimage:v1 us.icr.io/$MY_NAMESPACE/hello-world:1
image

Envía la imagen recién etiquetada al Registro de Contenedores de IBM Cloud.

docker push us.icr.io/$MY_NAMESPACE/hello-world:1
image

Nota: Si has intentado este laboratorio anteriormente, es posible que la sesión anterior aún esté persistente. En tal caso, verás un mensaje de La capa ya existe en lugar del mensaje de Subido en la salida anterior. Te recomendamos que continúes con los siguientes pasos del laboratorio.

Verifica que la imagen se haya subido correctamente listando las imágenes en el Registro de Contenedores.

ibmcloud cr images
image

Opcionalmente, para ver solo imágenes dentro de un espacio de nombres específico:

ibmcloud cr images --restrict $MY_NAMESPACE
image

Deberías ver el nombre de tu imagen en la salida.


¡Felicidades! Has completado el segundo laboratorio del primer módulo de este curso.

© IBM Corporation. Todos los derechos reservados.

Last updated