Cómo llevar a cabo la implementación con Docker

Docker es una plataforma de contenedorización de código abierto que permite empaquetar, distribuir y ejecutar aplicaciones en entornos aislados llamados contenedores.

Los contenedores están aislados entre sí y agrupan el código de la aplicación junto con sus dependencias, bibliotecas y archivos de configuración. A diferencia de las máquinas virtuales, los contenedores comparten el kernel del sistema operativo del host, haciéndolos significativamente más ligeros y rápidos de iniciar.

Desplegar una aplicación con Docker usando Docker Image

Para desplegar una aplicación con Docker, primero debes tener una imagen disponible.

La imagen, o Docker image, es un artefacto de solo lectura que contiene un conjunto de instrucciones para crear un contenedor que puede ejecutarse en la plataforma Docker. La imagen proporciona un método particularmente cómodo para crear paquetes de aplicaciones y entornos de servidor preconfigurados.

La imagen Docker puede crearse utilizando un Dockerfile y el comando docker build:

$ docker build .

[+] Building 4.2s (5/5) FINISHED

 => [internal] load build definition from Dockerfile

 => [internal] load metadata for docker.io/library/busybox:latest

 => [1/2] FROM docker.io/library/busybox:latest

 => [2/2] RUN ls -lh /

 => exporting to image

 => => writing image sha256:f52f38b7823e

La imagen recién creada se encuentra en la lista de imágenes con el comando docker image ls.

Para desplegar la aplicación, necesitarás disponer de una instancia Ubuntu Server con Docker instalado. Esta instancia puede estar en una máquina virtual local o remota, o en una máquina física dedicada.

Ten en cuenta que la máquina virtual donde se realizará el despliegue debe tener acceso a la imagen creada. Para ello, debes subir la imagen a un registro Docker accesible por internet. Existen muchos servicios disponibles para esto, incluyendo Docker Hub, Amazon ECR, GitHub Container Registry (ghcr.io) y Google Artifact Registry (que sustituyó al ahora retirado Google Container Registry).

Además, necesitaremos crear una cuenta para obtener la URL del registro y habilitarlo para la subida de imágenes Docker. En este punto, puedes cargar la imagen utilizando el comando docker push:

$ docker image push registry-host:5000/myadmin/rhel-httpd:latest

Once this has been done, we access the Ubuntu Docker machine to get the image from the registry:

$ docker pull registry-host:5000/myadmin/rhel-httpd:latest

sha256:45b23dee08...c5cb2: Pulling from myadmin/rhel-httpd

5a132a7e7af1: Already exists

fd2731e4c50c: Already exists

28a2f68d1120: Already exists

a3ed95caeb02: Already exists

Digest: sha256:45b23dee08...c5cb2

Status: Downloaded newer image for registry-host:5000/myadmin/rhel-httpd:latest

En cuanto tenemos la imagen, podemos lanzar un contenedor con el comando docker run:

$ docker run -p 80:80 registry-host:5000/myadmin/rhel-httpd:latest

Ejecutar comandos desde el contenedor

El atributo -p permite mapear el puerto 80 para hacerlo accesible desde el exterior. Ahora, deberías poder ejecutar el comando docker ps y ver el contenedor recién lanzado en la lista.

Para ejecutar comandos desde el contenedor en ejecución, puedes usar el comando docker exec. Ejecutando el comando bash o sh, puedes utilizar la shell dentro del contenedor de la siguiente manera:

$ docker exec -it <container_name> bash

Gestión de aplicaciones multi-contenedor con Docker Compose

Si tu aplicación requiere múltiples contenedores trabajando juntos – por ejemplo, un servidor web y una base de datos – no necesariamente hace falta una plataforma de orquestación completa. Docker Compose proporciona una forma sencilla y efectiva de definir y gestionar configuraciones multi-contenedor usando un único archivo de configuración YAML.

Docker Compose es ideal para entornos de desarrollo, pruebas y despliegues de producción a pequeña escala. Para saber más, lee nuestra guía sobre Docker Compose.

Escalar múltiples contenedores dinámicamente: herramientas de orquestación de contenedores

¿Y si queremos escalar el número de contenedores dinámicamente en múltiples hosts? Para ello, necesitamos una herramienta de orquestación de contenedores.

El estándar del sector es Kubernetes, que se ha convertido en la plataforma de orquestación de contenedores dominante. Otras opciones incluyen Amazon ECS y Docker Swarm, aunque el desarrollo de Swarm se ha ralentizado significativamente en favor de las soluciones basadas en Kubernetes.

Para comprender las diferencias entre estos enfoques, lee nuestro artículo sobre Docker vs Kubernetes.

Del Dockerfile al despliegue

Esperamos que esta guía te haya dado una comprensión clara de cómo construir una imagen Docker y desplegar un contenedor. Docker es una herramienta esencial para cualquiera que gestione infraestructura de servidores, permitiendo despliegues de aplicaciones más rápidos y consistentes entre entornos.

Si gestionas contenedores Docker en producción, recuerda que una sólida estrategia de backup es tan importante como el propio despliegue. Uranium Backup soporta el backup de máquinas virtuales, bases de datos y los datos que alimentan tus aplicaciones contenedorizadas.

Read related articles

Stefano Corbetti in Contenerización 25 de agosto de 2026

Cómo funciona Repository Docker

¿No tienes claro cuál es la diferencia entre un repositorio Docker y un registro Docker? Esta guía explica cómo funcionan ambos, cómo etiquetar y hacer push de las imágenes, y cómo autenticarse de forma segura en Docker Hub y otros registros.