[ES] Tutorial de Docker para Principiantes: Contenerización Paso a Paso

blosky01

Pablo Bravo

Posted on August 21, 2023

[ES] Tutorial de Docker para Principiantes: Contenerización Paso a Paso

Docker es una poderosa herramienta que simplifica la gestión y el despliegue de aplicaciones al empaquetarlas en contenedores. En este tutorial, aprenderás los conceptos básicos de Docker y cómo empezar a utilizarlo con ejemplos prácticos.

1. Instalación de Docker
Descarga Docker Desktop e instálalo.
Instalación en Windows
Instalación en macOS


Instalación en Linux:
Ejecuta estos comandos para instalar Docker:

sudo apt update
sudo apt install docker.io
Enter fullscreen mode Exit fullscreen mode

Inicia el servicio de Docker y configúralo para que se inicie automáticamente en el arranque:

sudo systemctl start docker
sudo systemctl enable docker
Enter fullscreen mode Exit fullscreen mode

Añade tu usuario al grupo "docker" para ejecutar comandos Docker sin sudo (requiere cerrar sesión e iniciar sesión nuevamente):

sudo usermod -aG docker $USER
Enter fullscreen mode Exit fullscreen mode

Verifica la instalación:

docker --version
Enter fullscreen mode Exit fullscreen mode

2. Ejecución de tu Primer Contenedor
Hello World en Docker
Para verificar que Docker esté funcionando correctamente, ejecutemos un contenedor de prueba:

docker run hello-world
Enter fullscreen mode Exit fullscreen mode

Docker descargará la imagen "hello-world" desde Docker Hub y la ejecutará en un contenedor. Deberías ver un mensaje que confirma que Docker está funcionando correctamente.

3. Trabajar con Imágenes
Buscar y Descargar Imágenes
Docker utiliza imágenes para crear contenedores. Puedes buscar imágenes en Docker Hub y descargarlas con el siguiente comando:

docker pull nombre-de-la-imagen
Enter fullscreen mode Exit fullscreen mode

Por ejemplo, para descargar una imagen de Ubuntu, usa:

docker pull ubuntu
Enter fullscreen mode Exit fullscreen mode

Crear tu Propia Imagen
Puedes crear tus propias imágenes personalizadas utilizando un archivo llamado Dockerfile. Aquí hay un ejemplo de Dockerfile para crear una imagen que ejecuta un servidor web Nginx:

# Usa una imagen base
FROM nginx:latest

# Copia tu archivo HTML personalizado al contenedor
COPY mi-archivo-html.html /usr/share/nginx/html/index.html
Enter fullscreen mode Exit fullscreen mode

Luego, construye tu imagen:

docker build -t mi-servidor-web .
Enter fullscreen mode Exit fullscreen mode

Subir una Imagen Personalizada a Docker Hub
Si deseas compartir tu imagen personalizada, puedes subirla a Docker Hub:

Crea una cuenta en Docker Hub.

Inicia sesión desde la línea de comandos:

docker login
Enter fullscreen mode Exit fullscreen mode

Etiqueta tu imagen con tu nombre de usuario en Docker Hub:

docker tag mi-servidor-web nombre-de-usuario/mi-servidor-web
Enter fullscreen mode Exit fullscreen mode

Sube tu imagen:

docker push nombre-de-usuario/mi-servidor-web
Enter fullscreen mode Exit fullscreen mode

4. Gestionar Contenedores

  • Listar y Ver Contenedores

Lista todos los contenedores en ejecución:

docker ps
Enter fullscreen mode Exit fullscreen mode

Lista todos los contenedores, incluidos los detenidos:

docker ps -a
Enter fullscreen mode Exit fullscreen mode
  • Detener y Eliminar Contenedores

Detén un contenedor en ejecución:

docker stop nombre-o-ID-del-contenedor
Enter fullscreen mode Exit fullscreen mode

Elimina un contenedor (debe estar detenido):

docker rm nombre-o-ID-del-contenedor
Enter fullscreen mode Exit fullscreen mode
  • Ver Registros de Contenedores Muestra los registros de un contenedor:
docker logs nombre-o-ID-del-contenedor
Enter fullscreen mode Exit fullscreen mode

5. Persistencia de Datos

  • Crear y Usar Volúmenes Para mantener datos importantes, como bases de datos, puedes crear y utilizar volúmenes en Docker.

Crea un volumen:

docker volume create nombre-del-volumen
Enter fullscreen mode Exit fullscreen mode
  • Ejecuta un contenedor y monta el volumen:
docker run -v nombre-del-volumen:/ruta-en-el-contenedor -d nombre-de-la-imagen
Enter fullscreen mode Exit fullscreen mode

6. Redes en Docker
Gestionar Redes en Docker
Docker crea automáticamente una red para los contenedores, pero puedes crear tus propias redes para aislar contenedores o conectarlos.

Lista las redes en Docker:

docker network ls
Enter fullscreen mode Exit fullscreen mode

Crea una red personalizada:

docker network create nombre-de-la-red
Enter fullscreen mode Exit fullscreen mode

Ejecuta un contenedor en una red específica:

docker run --network nombre-de-la-red -d nombre-de-la-imagen
Enter fullscreen mode Exit fullscreen mode

7. Docker Compose
Orquestar Múltiples Contenedores con Docker Compose
Docker Compose es una herramienta para definir y ejecutar aplicaciones Docker con múltiples contenedores. Puedes definir la configuración de tus servicios en un archivo docker-compose.yml.

Ejemplo de un archivo docker-compose.yml para un WordPress:

version: '3'
services:
   wordpress:
     image: wordpress
     ports:
       - "8080:80"
     environment:
       WORDPRESS_DB_PASSWORD: example
   mysql:
     image: mysql:5.7
     environment:
       MYSQL_ROOT_PASSWORD: example
Enter fullscreen mode Exit fullscreen mode

Ejecuta la aplicación con Docker Compose:

docker-compose up -d
Enter fullscreen mode Exit fullscreen mode

8. Conclusiones
¡Felicidades! Ahora tienes una comprensión sólida de los conceptos básicos de Docker. Puedes utilizar este tutorial como referencia mientras exploras más características y casos de uso avanzados de Docker. La contenerización simplificará el desarrollo y la implementación de aplicaciones, permitiéndote trabajar de manera más eficiente en entornos de desarrollo y producción. ¡Buena suerte con tus proyectos en Docker!

Cualquier duda o sugerencia para próximos post serán totalmente bienvenidas!

💖 💪 🙅 🚩
blosky01
Pablo Bravo

Posted on August 21, 2023

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related