logoImagina
iconCurso
Te recomendamos nuestro curso de Docker
Descubre el curso de Docker
Ir al curso

Aprende Docker – Tutorial de Primeros Pasos

iconImage
Publicado 01-03-2024
Actualizado el 19-06-2024
Duración: 30 min

Tutorial Docker para principiantes

En este tutorial de Docker en español, te guiaremos a través de los primeros pasos para que puedas familiarizarte con esta poderosa herramienta de contenedores. Aprenderás los conceptos básicos de Docker paso a paso y cómo utilizarlo, incluso si eres un principiante. ¡Comencemos!

¿Qué es Docker?

Docker es una plataforma abierta para desarrollar, enviar y ejecutar aplicaciones., que nos permite separar las aplicaciones de su infraestructura para que se pueda enviar software rápidamente.

¿Para qué sirve Docker?

Con Docker, se puede administrar la infraestructura de la misma forma que se administran las aplicaciones. Al aprovechar las metodologías de Docker para enviar, testear y desplegar códigos rápidamente, se puede reducir significativamente la demora entre escribir código y ejecutarlo en producción.

La plataforma Docker

Docker proporciona la capacidad de empaquetar y ejecutar una aplicación en un entorno poco aislado llamado contenedor. El aislamiento y la seguridad permiten ejecutar muchos contenedores simultáneamente en un host determinado. Los contenedores son ligeros porque no necesitan la carga adicional de un hipervisor, sino que se ejecutan directamente dentro del kernel de la máquina host. Esto significa que se puede ejecutar más contenedores en una combinación de hardware determinada que si se estuviera usando máquinas virtuales. Incluso se pueden ejecutar contenedores Docker en máquinas host que en realidad son máquinas virtuales.

Docker Engine

Docker Engine es una aplicación cliente-servidor con estos componentes principales:

  • Un servidor que es un tipo de programa de larga ejecución denominado proceso daemon (el comando dockerd).
  • Una API REST que especifica las interfaces que los programas pueden usar para comunicarse con el daemon e indicarle qué hacer.
  • Un cliente de interfaz de línea de comandos (CLI) (el comando docker).

El CLI utiliza la Doker REST API para controlar o interactuar con el Docker daemon a través de scripts o comandos directos del CLI. Muchas otras aplicaciones de Docker usan la API y el CLI subyacentes. El daemon crea y gestiona objetos Docker, como imágenes, contenedores, redes y volúmenes.

Estructura del CLI de Docker

Características: para qué se puede utilizar Docker

Entrega rápida y consistente de las aplicaciones

Docker optimiza el ciclo de vida del desarrollo al permitir que los desarrolladores trabajen en entornos estandarizados utilizando contenedores locales que proporcionan sus aplicaciones y servicios. Los contenedores son excelentes para flujos de trabajo de integración continua y entrega continua (CI / CD).

Consideramos el siguiente escenario de ejemplo:

  • Nuestros desarrolladores escriben código localmente y comparten su trabajo con sus compañeros utilizando contenedores Docker.
  • Usan Docker para llevar sus aplicaciones a un entorno de testing y ejecutar test automáticos y manuales.
  • Cuando los desarrolladores encuentran errores, pueden solucionarlos en el entorno de desarrollo y volver a implementarlos en el entorno de testing para probarlos y validarlos.
  • Cuando se completa el test, obtener la solución para el cliente es tan simple como enviar la imagen actualizada al entorno de producción.

Despliegue responsive y escalado

La plataforma basada en contenedores de Docker permite cargas de trabajo altamente portátiles.

Los contenedores Docker se pueden ejecutar en la computadora portátil local de un desarrollador, en máquinas físicas o virtuales en un centro de datos, en proveedores de la nube o en una combinación de entornos.

La portabilidad de Docker y su naturaleza ligera también facilitan la administración dinámica de cargas de trabajo, amplíando o eliminando aplicaciones y servicios según las necesidades del negocio, casi en tiempo real.

Arquitectura de Docker

Docker usa una arquitectura cliente-servidor. El cliente Docker habla con el daemon Docker, que hace el trabajo pesado de construir, ejecutar y distribuir sus contenedores Docker. El cliente Docker y el daemon pueden ejecutarse en el mismo sistema, o se puede conectar un cliente Docker a un daemon Docker remoto. El cliente Docker y el daemon se comunican utilizando una API REST, sobre sockets UNIX o una interfaz de red.

Arquitectura de Docker

El Docker Daemon

El Docker daemon (dockerd) escucha las solicitudes de la API de Docker y gestiona los objetos de Docker, como imágenes, contenedores, redes y volúmenes. Un daemon también puede comunicarse con otros daemons para administrar los servicios de Docker.

El cliente de Docker

El cliente Docker (docker) es la forma principal en que muchos usuarios de Docker interactúan con Docker. Cuando se utilizan comandos como docker run, el cliente envía estos comandos a dockerd, que los lleva a cabo. El comando docker usa la API Docker. El cliente de Docker puede comunicarse con más de un daemon.

Registros de Docker

Un registro de Docker almacena imágenes de Docker. Docker Hub y Docker Cloud son registros públicos que cualquiera puede usar, y Docker está configurado para buscar imágenes en Docker Hub de manera predeterminada. Incluso podemos ejecutar nuestro propio registro privado.

Cuando se utilizan los comandos docker pull o docker run, las imágenes necesarias se extraen del registro configurado. Cuando se utiliza el comando docker push, la imagen se envía a el registro configurado.

La tienda Docker permite comprar y vender imágenes de Docker o distribuirlas gratis. Por ejemplo, se puede comprar una imagen Docker que contenga una aplicación o servicio de un proveedor de software y usar la imagen para implementar la aplicación en nuestros entornos de prueba, preparación y producción. Podemos actualizar la aplicación tirando de la nueva versión de la imagen y volviendo a desplegar los contenedores.

Descubre la formación a tu medida
Rellena el formulario para obtener más información sobre los cursos.
Tamaño de la empresa *
Términos y condiciones *

Objetos Docker

Imágenes

Una imagen es una plantilla de 'solo lectura' con instrucciones para crear un contenedor Docker. A menudo, una imagen se basa en otra imagen, con alguna personalización adicional. Por ejemplo, se puede compilar una imagen basada en la imagen ubuntu, pero que instala el servidor web Apache y nuestra aplicación, así como los detalles de configuración necesarios para ejecutar nuestra aplicación.

Contenedores

Un contenedor es una instancia ejecutable de una imagen. Se puede crear, iniciar, detener, mover o eliminar un contenedor utilizando la API Docker o el CLI. Se puede conectar un contenedor a una o más redes, adjuntarle almacenamiento o incluso crear una nueva imagen en función de su estado actual.

Por defecto, un contenedor está relativamente bien aislado de otros contenedores y su máquina host. Se puede controlar qué tan aislados están la red, el almacenamiento u otros subsistemas subyacentes de otros contenedores o de la máquina host.

Un contenedor se define por su imagen y por las opciones de configuración que se le proporciona cuando se crea o inicia. Cuando se elimina un contenedor, desaparecen los cambios a su estado que no se almacenan en el almacenamiento persistente.

Ejemplo comando docker run

El siguiente comando ejecuta un contenedor ubuntu, se conecta interactivamente a nuestra sesión de línea de comandos local y ejecuta / bin / bash.

$ docker run -i -t ubuntu /bin/bash

Cuando se ejecuta este comando, sucede lo siguiente (suponiendo que se esté utilizando la configuración de registro predeterminada):

  • Si no se tiene la imagen ubuntu localmente, Docker la extrae de nuestro registro configurado, como si se hubiera ejecutado docker pull ubuntu manualmente.
  • Docker crea un contenedor nuevo, como si se hubiera ejecutado un docker container create manualmente.
  • Docker asigna un sistema de archivos de lectura y escritura al contenedor, como capa final. Esto permite que un contenedor en ejecución cree o modifique archivos y directorios en nuestro sistema de archivos local.
  • Docker crea una interfaz de red para conectar el contenedor a la red predeterminada, ya que se no especificó ninguna opción de red. Esto incluye asignar una dirección IP al contenedor. De forma predeterminada, los contenedores se pueden conectar a redes externas utilizando la conexión de red de la máquina host.
  • Docker inicia el contenedor y ejecuta / bin / bash. Debido a que el contenedor se está ejecutando de forma interactiva y conectado a nuestra terminal (debido a las opciones -i y -t), se puede proporcionar información usando nuestro teclado mientras la salida está registrada en nuestra terminal.
  • Cuando escribe exit para finalizar el comando / bin / bash, el contenedor se detiene pero no se elimina. Puede volver a iniciarlo o eliminarlo.

Servicios

Los servicios permiten escalar contenedores a través de múltiples daemons Docker, que funcionan en conjunto como un swarm con múltiples managers y workers. Cada miembro de un swarm es un Docker daemon, y todos los daemons se comunican usando la API Docker. Un servicio permite definir el estado deseado, como el número de réplicas del servicio que debe estar disponible en un momento dado. De forma predeterminada, el servicio tiene equilibrio de carga en todos los nodos de trabajadores. Es posible que algunos términos no se comprendan por ahora pero se verán en posteriores temas.

Instalación

Para cualquier instalación de Docker lo primero es registrarse en el Hub de Docker.

Cómo instalar Docker en Windows

Para instalar Docker en Windows hay que dirigirse a su página oficial.

Siga el asistente de instalación para aceptar la licencia, autorizar el instalador y continuar con la instalación. Reiniciaremos el sistema si nos lo pide. Es posible que Docker no se ejecute automáticamente después de su instalación.

Instalador de Docker en Windows

Para iniciarlo, buscamos Docker, seleccionamos Docker for Windows en los resultados de búsqueda.

Aplicación de Doker for Windows

Cuando la ballena en la barra de estado se mantenga estable, Docker estará funcionando y se podrá acceder desde cualquier ventana de terminal.

Si la ballena está oculta en el área de Notificaciones, haríamos clic en la flecha hacia arriba en la barra de tareas para mostrarla.

Ballena de Docker en la barra inferior del equipo

Si acabamos de instalar la aplicación, también recibiremos un mensaje emergente con los próximos pasos sugeridos. Con esto ya tendríamos instalado Docker en Windows.

Cómo instalar Docker en Mac

Para instalar Docker en Mac hay que dirigirse a la página oficial.

Instalar Docker en Mac

Hacemos doble clic en Docker.dmg para abrir el instalador, luego arrastramos ballena a la carpeta Aplicaciones.

Arrastrar Docker.app a la carpeta de Aplicaciones en Mac

Hacemos doble clic en Docker.app en la carpeta de aplicaciones para iniciar Docker. (En el siguiente ejemplo, la carpeta de aplicaciones está en el modo de vista de "cuadrícula").

Pantalla de Aplicaciones en Mac

Es posible que se nos solicite que autoricemos Docker.app con la contraseña de nuestro sistema después de iniciarlo.

La ballena en la barra de estado superior indica que Docker se está ejecutando y se puede acceder desde una terminal.

Ballena de Docker en la barra superior de Mac

Al igual que en Windows si acabamos de instalar la aplicación, también recibiremos un mensaje de éxito con los próximos pasos sugeridos y un enlace a esta documentación.

Login de Docker en Mac

Con esto ya hemos finalizado la instalación en Mac.

Cómo instalar Docker en Linux

La instalación de Docker en Linux varía según la distribución específica. Asegúrate de consultar la documentación oficial de Docker para obtener instrucciones detalladas sobre cómo instalarlo en tu distribución de Linux.

Comprobar versión de Docker

Podemos comprobar la versión de Docker ejecutando el comando docker --version y de esta manera nos aseguraremos de tener una versión compatible de Docker

Incluso ejecutando docker info o docker version podemos ver aún más detalles sobre la instalación de nuestro Docker:

docker --version

docker info

Comprobar instalación de Docker

Para verificar si se ha realizado correctamente la instalación de Docker en tu sistema, puedes seguir los siguientes pasos:

  1. Abre una terminal o línea de comandos en tu sistema.
  2. A continuación, ejecuta el siguiente comando para verificar si Docker está funcionando correctamente:
1 docker run hello-world
Si la instalación fue exitosa, Docker descargará y ejecutará una imagen llamada "hello-world" que imprimirá un mensaje de saludo. Esto indicará que Docker está configurado y funcionando correctamente.
  1. Además, puedes ejecutar el siguiente comando para listar las imágenes de Docker descargadas en tu sistema:
   docker images
Si no has descargado ninguna imagen adicional, solo deberías ver la imagen "hello-world" en la lista. Esto confirma que Docker puede acceder a su registro de imágenes y mostrarlas correctamente.

Si todos estos pasos se completan sin errores y obtienes resultados satisfactorios, significa que la instalación de Docker se realizó correctamente en tu sistema.

Aprender Docker desde cero

En conclusión, hemos cubierto los fundamentos de Docker y te hemos proporcionado los conocimientos necesarios para empezar a utilizar esta tecnología de contenedores. Sin embargo, si deseas profundizar aún más en Docker y aprovechar al máximo todas sus funcionalidades, te invitamos a considerar nuestro curso de Docker.

En nuestro curso de Docker, aprenderás desde los conceptos básicos hasta técnicas avanzadas de contenerización y gestión de aplicaciones. Nuestro equipo de expertos te guiará a través de casos prácticos, ejercicios y proyectos que te ayudarán a fortalecer tus habilidades en Docker y te convertirán en un profesional en el uso de esta poderosa herramienta.

No pierdas la oportunidad de mejorar tus habilidades y destacarte en el mundo del desarrollo y despliegue de aplicaciones con Docker. ¡Inscríbete en nuestro curso ahora mismo y lleva tus conocimientos de Docker al siguiente nivel!

¡Feliz contenerización con Docker!

Descubre la formación a tu medida
Rellena el formulario para obtener más información sobre los cursos.
Tamaño de la empresa *
Términos y condiciones *
Tutoriales relacionados
Cómo reducir el tamaño de una imagen en Docker
Domina Docker: Reduce el tamaño de tus imágenes, acelera despliegues y optimiza apps. ¡Sé un experto con nuestro tutorial y herramientas!
Cómo Eliminar Contenedor, Volumen o Imagen en Docker
Descubre Cómo Eliminar Contenedores, Volúmenes o Imágenes en Docker: Guía Completa para Maximizar el Rendimiento de Docker
Diferencias entre CMD y Entrypoint en Docker
Descubre Qué son y las Diferencias y Similitudes de los Comandos Entrypoint y CMD en Docker y el Mundo de los Contenedores
Kubernetes: ¿Qué es y Para qué Sirve?
Descubre que es Kubernetes, para qué sirve y cómo revoluciona la gestión de contenedores: Guía Completa de Kubernetes, desde conceptos básicos hasta características avanzadas
Tabla de contenido
Tutorial Docker para principiantes
¿Qué es Docker?
¿Para qué sirve Docker?
La plataforma Docker
Docker Engine
Características: para qué se puede utilizar Docker
Entrega rápida y consistente de las aplicaciones
Despliegue responsive y escalado
Arquitectura de Docker
El Docker Daemon
El cliente de Docker
Registros de Docker
Objetos Docker
Imágenes
Contenedores
# Ejemplo comando docker run
Servicios
Instalación
Cómo instalar Docker en Windows
Cómo instalar Docker en Mac
Cómo instalar Docker en Linux
Comprobar versión de Docker
Comprobar instalación de Docker
Aprender Docker desde cero
Descubre la formación a tu medida
Rellena el formulario para obtener más información sobre los cursos.
Tamaño de la empresa *
Términos y condiciones *