Cómo instalar Docker en un sistema

DockerBeginner
Practicar Ahora

Introducción

Docker es una potente plataforma de contenedorización que ha revolucionado la forma en que los desarrolladores construyen, implementan y gestionan aplicaciones. En este tutorial, aprenderás cómo instalar Docker en tu sistema y comenzar a ejecutar tu primer contenedor Docker.

Entendiendo Docker

Docker es una popular plataforma de código abierto que permite a los desarrolladores construir, implementar y ejecutar aplicaciones en un entorno de contenedorización. Los contenedores son paquetes de software ligeros, autónomos y ejecutables que incluyen todo lo necesario para ejecutar una aplicación, incluyendo el código, el tiempo de ejecución, las herramientas del sistema y las bibliotecas.

¿Qué es Docker?

Docker es una herramienta diseñada para facilitar la creación, implementación y ejecución de aplicaciones mediante el uso de contenedores. Los contenedores permiten a un desarrollador empaquetar una aplicación con todas las partes que necesita, como bibliotecas y otras dependencias, y enviarla como un solo paquete.

Beneficios del Uso de Docker

  1. Consistencia: Los contenedores Docker garantizan que las aplicaciones se ejecuten de la misma manera, independientemente de la infraestructura subyacente.
  2. Escalabilidad: Docker facilita la ampliación o reducción de las aplicaciones según sea necesario, mejorando la utilización de los recursos y reduciendo los costos.
  3. Portabilidad: Los contenedores Docker se pueden ejecutar en cualquier sistema que tenga Docker instalado, lo que facilita el traslado de aplicaciones entre diferentes entornos.
  4. Eficiencia: Los contenedores Docker son ligeros y utilizan menos recursos que las máquinas virtuales, mejorando el rendimiento general del sistema.

Arquitectura de Docker

Docker utiliza una arquitectura cliente-servidor, donde el cliente Docker se comunica con el demonio Docker, que es responsable de la construcción, ejecución y distribución de los contenedores Docker.

graph LD client[Cliente Docker] daemon[Demonio Docker] registry[Registro Docker] client -- API --> daemon daemon -- Pull/Push --> registry

Componentes de Docker

  1. Imágenes Docker: Las imágenes Docker son los planos para crear contenedores Docker. Incluyen el código de la aplicación, las dependencias y cualquier otro archivo necesario.
  2. Contenedores Docker: Los contenedores Docker son las instancias en ejecución de las imágenes Docker. Son ligeros, portátiles y autocontenidos.
  3. Registro Docker: El Registro Docker es un sistema de almacenamiento y distribución para imágenes Docker. El registro más popular es Docker Hub, que alberga una vasta colección de imágenes públicas.

Comenzando con Docker

Para comenzar con Docker, necesitarás instalar el motor Docker en tu sistema. El proceso de instalación varía según tu sistema operativo. En la siguiente sección, cubriremos cómo instalar Docker en un sistema Linux.

Instalación de Docker en tu Sistema

En esta sección, te guiaremos a través del proceso de instalación de Docker en un sistema Ubuntu 22.04.

Requisitos previos

Antes de comenzar, asegúrate de que tu sistema cumple con los siguientes requisitos:

  • Sistema operativo Ubuntu 22.04
  • Privilegios de root o sudo para instalar y gestionar Docker

Paso 1: Actualizar el Índice de Paquetes

Comienza actualizando el índice de paquetes de tu sistema:

sudo apt-get update

Paso 2: Instalar Docker

Instala los paquetes necesarios para permitir que apt utilice un repositorio a través de HTTPS:

sudo apt update
sudo apt-get install \
  ca-certificates \
  curl \
  gnupg \
  lsb-release

Agrega la clave GPG oficial de Docker:

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Configura el repositorio de Docker:

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Instala el motor Docker, containerd y los paquetes Docker Compose:

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

Paso 3: Verificar la Instalación

Verifica que Docker esté instalado correctamente ejecutando el siguiente comando:

sudo docker run hello-world

Este comando descargará una imagen de prueba y la ejecutará en un contenedor, verificando que tu instalación de Docker funcione como se espera.

¡Felicidades! Has instalado Docker correctamente en tu sistema Ubuntu 22.04. En la siguiente sección, exploraremos cómo ejecutar tu primer contenedor Docker.

Ejecutando tu Primer Contenedor Docker

Ahora que tienes Docker instalado en tu sistema, exploremos cómo ejecutar tu primer contenedor Docker.

Ejecutando un Contenedor

Para ejecutar un contenedor Docker, necesitarás usar el comando docker run. Este comando extraerá la imagen especificada del registro Docker (si aún no está presente en tu sistema) e iniciará un nuevo contenedor basado en esa imagen.

Empecemos ejecutando un simple contenedor "hello world":

docker run hello-world

Este comando descargará la imagen hello-world del registro Docker Hub y ejecutará un contenedor basado en esa imagen. El contenedor mostrará un mensaje "Hello from Docker!" y luego se cerrará.

Interactuando con Contenedores

Puedes interactuar con contenedores en ejecución utilizando varios comandos de Docker:

  • docker ps: Lista todos los contenedores en ejecución.
  • docker stop <container_id>: Deten un contenedor en ejecución.
  • docker start <container_id>: Inicia un contenedor detenido.
  • docker exec -it <container_id> /bin/bash: Abre un shell dentro de un contenedor en ejecución.

Por ejemplo, para abrir un shell dentro de un contenedor en ejecución, puedes usar el siguiente comando:

docker exec -it < container_id > /bin/bash

Esto te dará un indicador de shell dentro del contenedor, permitiéndote explorar e interactuar con el sistema de archivos del contenedor y los procesos en ejecución.

Creando e Iniciando Imágenes Personalizadas

Además de ejecutar imágenes preconstruidas, también puedes crear tus propias imágenes Docker personalizadas. Para ello, necesitarás crear un Dockerfile, que es un archivo de texto que contiene instrucciones para construir la imagen.

Aquí hay un ejemplo simple de un Dockerfile:

FROM ubuntu:22.04
RUN apt-get update && apt-get install -y nginx
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

Este Dockerfile creará una nueva imagen basada en la imagen base Ubuntu 22.04, instalará el servidor web Nginx, expondrá el puerto 80 y iniciará el servicio Nginx cuando se ejecute el contenedor.

Para construir la imagen, puedes usar el comando docker build:

docker build -t my-nginx-app .

Esto creará una nueva imagen con la etiqueta my-nginx-app.

Para ejecutar el contenedor basado en esta imagen, puedes usar el comando docker run:

docker run -d -p 80:80 my-nginx-app

Esto iniciará un nuevo contenedor, mapeará el puerto 80 del host al puerto 80 en el contenedor y ejecutará el servidor web Nginx.

¡Felicidades! Ahora has aprendido a ejecutar tu primer contenedor Docker e interactuar con él. En los siguientes pasos, puedes explorar conceptos más avanzados de Docker, como crear tus propias imágenes personalizadas, gestionar redes de contenedores e implementar aplicaciones multicontenedor.

Resumen

Siguiendo esta guía paso a paso, adquirirás una sólida comprensión de Docker y su proceso de instalación. Podrás configurar Docker en tu sistema, ejecutar tu primer contenedor y explorar los beneficios de la contenedorización. Este tutorial es un recurso valioso para desarrolladores, administradores de sistemas y cualquier persona interesada en aprovechar el poder de Docker.