Tutorial de Docker para principiantes: conceptos básicos, Architectura, Contenedores
⚡ Resumen inteligente
Docker es una plataforma de contenerización que empaqueta aplicaciones y sus dependencias en contenedores portátiles y ligeros. Esta descripción general explica la arquitectura de Docker y su instalación en Ubuntucomandos esenciales y en qué se diferencian los contenedores de las máquinas virtuales tradicionales para una entrega de software más rápida.

Docker es una de las plataformas de contenerización más populares utilizadas en la actualidad. DevOps y flujos de trabajo en la nube. Este tutorial de Docker para principiantes explica qué es Docker, cómo funciona la arquitectura de Docker y cómo instalar Docker en Ubuntuy los comandos básicos utilizados para gestionar imágenes y contenedores.
¿Qué es Docker?
Docker Docker es una plataforma de desarrollo de software para virtualización que permite ejecutar múltiples sistemas operativos en el mismo host. Ayuda a separar la infraestructura de las aplicaciones para agilizar la entrega de software. A diferencia de los hipervisores, que se utilizan para crear máquinas virtuales (VM), Docker realiza la virtualización a nivel de sistema mediante unidades llamadas contenedores Docker.
Los contenedores Docker se ejecutan sobre el sistema operativo anfitrión, como se muestra en la imagen a continuación. Esto mejora tanto la eficiencia como la seguridad. Además, se pueden ejecutar más contenedores que máquinas virtuales en la misma infraestructura, ya que los contenedores consumen menos recursos.

A diferencia de las máquinas virtuales, que pueden comunicarse directamente con el hardware del host (por ejemplo, un adaptador Ethernet que crea más adaptadores virtuales), los contenedores Docker se ejecutan en un entorno aislado sobre el sistema operativo del host. Incluso si su host ejecuta Windows, Tu puedes correr Linux imágenes dentro de contenedores con la ayuda de Hyper-V, que crea automáticamente una pequeña máquina virtual para virtualizar la imagen base.
Ahora que ya sabes qué es Docker, veamos las principales razones por las que los equipos lo eligen.
¿Por qué utilizar Docker?
Estas son las razones clave para usar Docker:
- Docker es un software utilizado para la virtualización, que permite múltiples sistemas operativos para ejecutarse en el mismo host.
- Docker es una aplicación cliente-servidor, lo que significa que los clientes se comunican con un servidor.
- Las imágenes de Docker actúan como el "código fuente" de los contenedores; se utilizan para construirlos.
- Docker admite dos tipos de registros: públicos y privados.
- Los contenedores son las unidades organizativas de Docker. En términos sencillos, una imagen es una plantilla y un contenedor es una copia de esa plantilla, por lo que se pueden ejecutar varios contenedores a partir de la misma imagen.
Estas ventajas se derivan del diseño de Docker. La siguiente sección detalla la arquitectura de Docker y sus componentes principales.
Docker Architectura
Ahora, en este tutorial sobre contenedores Docker, vamos a analizar los componentes principales de la arquitectura Docker.
Docker Engine
Docker es una aplicación cliente-servidor, lo que significa que tenemos clientes que transmiten solicitudes a un servidor. El demonio de Docker, llamado dockerd, es el motor de Docker que representa al servidor. El demonio y los clientes pueden ejecutarse en el mismo host o en uno remoto, y se comunican a través de un binario de cliente de línea de comandos y un intérprete de comandos completo. API RESTful que interactúa con dockerd.
Imágenes de Docker
Las imágenes Docker son el código fuente de nuestros contenedores; las usamos para crearlos. Las imágenes pueden tener software preinstalado, lo que acelera la implementación. Son portátiles y se pueden usar imágenes existentes o crear las propias.
Registros de Docker
Docker almacena las imágenes que creamos en registros. Hay registros públicos y privados. Docker tiene un registro público llamado Centro acoplable, donde también puedes almacenar imágenes de forma privada. Docker Hub tiene millones de imágenes que puedes empezar a usar de inmediato.
Contenedores Docker
Los contenedores son las unidades organizativas de Docker y uno de sus conceptos básicos. Cuando creamos una imagen y la ejecutamos, lo hacemos dentro de un contenedor. La analogía del contenedor se utiliza por la portabilidad del software que se ejecuta en su interior: se puede mover, transportar, modificar, gestionar, crear o destruir, del mismo modo que los buques de carga transportan contenedores reales.
En términos simples, una imagen es una plantilla y un contenedor es una copia de esa plantilla. Puede tener varios contenedores (copias) de la misma imagen.
La interacción entre estos diferentes componentes muestra cómo funciona en conjunto la tecnología de contenedores Docker. Comandos como `docker pull` y `docker run`, que veremos más adelante, permiten gestionar este flujo de trabajo.
Teniendo en cuenta la arquitectura, instalemos Docker para que puedas probar estos componentes por ti mismo.
Cómo instalar Docker en Linux/Ubuntu
A continuación se muestra un proceso de instalación de Docker paso a paso en Linux/Ubuntu:
Paso 1) Para instalar Docker, necesitas los paquetes DEB del equipo de Docker. Primero, algunos requisitos previos Ubuntu Se requieren paquetes. Utilice el siguiente comando para instalarlos.
$ sudo apt-get install \ apt-transport-https \ ca-certificates curl \ software-properties-common
*el signo “\” no es necesario, se usa para la nueva línea, si lo deseas puedes escribir el comando sin usar “\” en una sola línea.
Paso 2) Agregue la clave GPG oficial de Docker con su huella digital. Utilice el siguiente comando de Docker para ingresar la clave GPG.
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Paso 3) A continuación, agregue el repositorio APT de Docker utilizando el siguiente comando.
$ sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
Es posible que se le solicite que confirme que desea agregar el repositorio y que la clave GPG se agregue automáticamente a su host. El comando lsb_release debería completar la Ubuntu versión de distribución de su host.
Paso 4) Después de agregar la clave GPG, actualice las fuentes APT utilizando el siguiente comando de Docker.
$ sudo apt-get update
Ahora puedes instalar el paquete Docker.
Paso 5) Una vez que se actualicen las fuentes APT, comience a instalar los paquetes Docker en Ubuntu utilizando el siguiente comando de Docker.
$ sudo apt-get install docker-ce
El comando anterior instala Docker y otros paquetes necesarios. Antes de Docker 1.8.0, el nombre del paquete era lxc-docker, y entre Docker 1.8 y 1.13, el nombre del paquete era docker-engine.
NOTA: Docker para Windows requiere Windows 10 Pro o Enterprise versión 14393, o Windows Servidor 2016 RTM, listo para ejecutar.
Cómo usar Docker usando comandos básicos de Docker
Aquí te mostramos cómo usar Docker con algunos comandos básicos.
El comando más básico que debes ejecutar después de instalar Docker es docker info, como se mencionó anteriormente.
$ sudo docker info
Deberías obtener un resultado similar al siguiente.
Como se muestra en el ejemplo de Docker anterior, podemos ver información sobre los contenedores de Docker: cuántos están en ejecución, en pausa o detenidos, y cuántas imágenes se han descargado. Ahora obtengamos nuestra primera imagen.
$ sudo docker pull alpine
Con este comando, le estamos indicando a Docker que descargue la imagen alpine, extrayéndola del registro público en su última versión, que es la que viene configurada por defecto.
*alpine es una imagen mínima de Docker basada en Alpine Linux con un índice de paquete completo y solo 5 MB de tamaño.
Si queremos ejecutar la imagen como un contenedor, utilizamos el siguiente comando.
$ sudo docker run -i -t alpine /bin/bash
Al ejecutar el comando, accedemos directamente a la terminal de Alpine. El parámetro -i mantiene la entrada estándar (STDIN) abierta desde el contenedor, incluso cuando no estamos conectados a él; esta entrada estándar persistente es fundamental para una shell interactiva. El parámetro -t es el otro elemento clave e indica a Docker que asigne una pseudo-tty al contenedor. Juntos, nos proporcionan una shell interactiva en el nuevo contenedor. Salimos del contenedor con un simple comando de salida.
Ahora, en este tutorial básico de Docker, podemos intentar ejecutar un Ubuntu imagen.
$ sudo docker run -it ubuntu /bin/bash
Observa que Docker busca la imagen localmente y, si no la encuentra, la descarga automáticamente de la biblioteca de imágenes. Una vez más, tenemos una consola interactiva en ejecución. También podemos nombrar los contenedores a medida que los ejecutamos.
$ sudo docker run –-name our_container -it ubuntu /bin/bash
Luego salimos. También podemos ejecutar un contenedor que hayamos creado previamente sin una consola interactiva.
$ sudo docker start container_name
Y detenemos el contenedor escribiendo docker stop container_name.
$ sudo docker stop container_name
Si queremos ver todos los contenedores en ejecución, simplemente ejecutamos lo siguiente.
$ docker ps
Para todos los contenedores, añadimos “-a” al final del mismo comando, como por ejemplo docker ps -a. Este comando muestra el ID del contenedor, la imagen que utiliza, la fecha de creación, su estado de ejecución, los puertos expuestos y un nombre generado aleatoriamente para facilitar su gestión.
Cuando ejecutamos contenedores, a menudo queremos saber cuántos recursos están utilizando. Para ello, podemos usar el siguiente comando.
$ docker stats
También puedes ver qué imágenes has descargado localmente, junto con información sobre ellas.
$ sudo docker images
El comando del ejemplo de Docker anterior muestra cada imagen de Docker con una etiqueta que indica la versión de la imagen, un ID de imagen distintivo, la fecha de creación y el tamaño de la imagen.
Para comprender por qué los contenedores representan una mejora tan significativa, resulta útil analizar cómo evolucionó la virtualización.
¿Qué es la virtualización?
Antes, desplegar un servicio era lento y complicado. Los desarrolladores escribían el código y luego el equipo de operaciones lo desplegaba en máquinas físicas, donde debían estar pendientes de las versiones de las bibliotecas, los parches y los compiladores del lenguaje para que el código funcionara. Si surgían errores, el proceso volvía a empezar: los desarrolladores solucionaban el problema y el equipo de operaciones volvía a desplegarlo.
Las cosas mejoraron con la creación de hipervisores. Los hipervisores ejecutan múltiples maquinas virtualeso máquinas virtuales, en el mismo host, que pueden estar en funcionamiento o apagadas. Las máquinas virtuales redujeron enormemente el tiempo de espera para implementar código y corregir errores, pero el verdadero punto de inflexión fueron los contenedores Docker.
La popularidad de Docker también se debe a las herramientas de orquestación que gestionan contenedores a gran escala, como KubernetesAntes de continuar, aquí tienes una breve guía con los comandos más importantes de Docker.
Comandos importantes de Docker
A continuación se muestran los comandos importantes de Docker:
| Comando | Mareas Ideales para Lecciones |
|---|---|
| información de la ventana acoplable | Comando de información |
| estirar del estibador | Descargar una imagen |
| ventana acoplable ejecutar -i -t nombre_imagen /bin/bash | Ejecutar imagen como contenedor |
| ventana acoplable inicia nuestro_contenedor | Contenedor de inicio |
| parada de ventana acoplable nombre_contenedor | Detener contenedor |
| docker ps | Lista de todos los contenedores en ejecución |
| estadísticas de la ventana acoplable | Información del contenedor |
| ventana acoplable | Lista de imágenes descargadas |
| Limpieza de la ventana acoplable | Mata todos los contenedores en ejecución. |
Lea también estos Preguntas y respuestas de la entrevista de trabajo de Docker Tanto para quienes se inician en el sector como para profesionales con experiencia.

