Skip to content

Tema:

Instalación de Docker Container Engine


Introducción

Docker es una de las plataformas más populares para crear, gestionar y ejecutar contenedores, proporcionando una forma eficiente de empaquetar aplicaciones junto con sus dependencias. La instalación de Docker Container Engine es el primer paso esencial para adentrarse en el mundo de los contenedores, ya que permite ejecutar contenedores de manera consistente en cualquier entorno, desde computadoras locales hasta servidores en la nube. Este proceso incluye la configuración inicial del sistema para soportar contenedores y garantizar un entorno funcional y seguro.


Objetivo

Objetivo General:

  • Guiar a los estudiantes en el proceso de instalación de Docker Container Engine, asegurando que comprendan los requisitos previos, la configuración adecuada del sistema operativo y los pasos necesarios para una instalación exitosa. Al finalizar, los estudiantes podrán instalar y verificar el funcionamiento de Docker, sentando las bases para trabajar con contenedores en proyectos futuros.

Docker Container Engine está disponible y puede ser instalado en una gran variedad de plataformas. La instalación que llevaremos a cabo habilita el componentes de Servidor y Cliente para poder realizar las diferentes prácticas del entrenamiento. A medida que se avance en el curso se requerirá la descarga de algunas imágenes de contenedores y la creación de los diferentes objetos.

Esta instalación habilita el cliente en línea de comandos, La CLI usa las API de Docker para controlar o interactuar con el demonio de Docker a través de secuencias de comandos o comandos directos. Muchas otras aplicaciones de Docker utilizan la API y la CLI subyacentes. El daemon crea y administra objetos Docker, como imágenes, contenedores, redes y volúmenes.

Inicio de laboratorio

  1. Ingresar al servidor qué contiene al ambiente de laboratorio con el cliente SSH de su preferencia, debe utilizar las credenciales de administración
  2. Añadir el repositorio de Docker: Utilice la herramienta dnf para añadir el repositorio de Docker a su servidor Linux:
    sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    
  3. Instalar los paquetes necesarios: Instale la última versión de Docker Engine, containerd y Docker Compose, ejecutando:
    sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-compose-plugin
    

Los paquetes instalados

docker-ce               : Este paquete proporciona la tecnología subyacente para construir y ejecutar contenedores docker (dockerd) 
docker-ce-cli          : Proporciona la interfaz de línea de comandos (CLI) cliente de la herramienta docker (docker)
containerd.io           : Proporciona el tiempo de ejecución del contenedor (runc)
docker-compose-plugin  : Un plugin que proporciona el subcomando 'docker compose' 
4. Iniciar el servicio systemd de Docker (dockerd) y habilitarlo para su arranque automático: Utilice la utilidad systemctl para configurar el demonio dockerd y que se inicie automáticamente con el próximo reinicio del sistema y simultáneamente para la sesión actual
sudo systemctl --now enable docker
6. Verificar el estado del servicio de Docker CE
sudo systemctl status docker
7. Ejecutar el siguiente comando con el usuario actual student:
docker info
La salida del comando anterior, presentará un mensaje, en el cual se oberva
ERROR: permission denied while trying to connect to the Docker daemon socket at...
8. Permitir opcionalmente que un usuario no-root administre Docker: Agrega un usuario sin privilegios de root al grupo docker para permitirle administrar docker sin necesidad de usar sudo. Este es un paso opcional, pero puede ser conveniente si eres el usuario principal del sistema o si deseas permitir que varios usuarios administren Docker sin otorgarles permisos de sudo.
# Agregar el usuario actual
sudo usermod -a -G docker $(whoami)
Antes de ejecutar los siguientes comandos, debes salir del servidor y volver a establecer una sesión SSH a continuación se muestra un ejemplo:
[student@student-0-aio ~]$ exit
logout
Connection to 35.227.133.255 closed.
% ssh -l student 35.227.133.255 -i student-0-private_key.pem
    _ _
   |_| |_ _________
   | | __|  _   _  |
   | | |_| | | | | |
   |_|\__|_| |_| |_|
 https://www.i-t-m.com
----------------------
Last login: Mon Mar 31 18:20:37 2025 from 181.209.195.48
[student@student-0-aio ~]$
9. Verificar la configuración de Docker CE (sin hacer uso del usuario root o sudo)
docker info
10. Verificar la versión de Docker CE (sin hacer uso del usuario root o sudo)
docker version
10. Verifique que Docker Engine esté instalado correctamente ejecutando la imagen hello-world
docker run --name hello hello-world
11. El resultado del comando anterior, deberá ser similar al siguiente:
Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/
12. El siguiente comando detiene el contenedor de pruebas, mas adelante se revisará mas detalles sobre el comando
docker stop hello
13. El siguiente comando elimina el contenedor de pruebas, mas adelante se revisará mas detalles sobre el comando
docker rm hello

Conclusión

La instalación de Docker Container Engine es un paso fundamental para comenzar a trabajar con contenedores, permitiendo un entorno flexible, portátil y eficiente para el desarrollo y despliegue de aplicaciones. A través de esta guía, hemos cubierto los aspectos meas importantes de su instalación, asegurando que el sistema esté preparado para ejecutar contenedores de manera óptima. Con Docker correctamente instalado, los usuarios pueden aprovechar sus ventajas en distintos entornos, desde el desarrollo local hasta la infraestructura en la nube, facilitando la automatización, escalabilidad y gestión eficiente de aplicaciones.