Editado 3 hace días por ExtremeHow Equipo Editorial
DockerContenedoresVirtualizaciónDespliegue de AplicacionesDevOpsMicroserviciosOrquestaciónAdministración de sistemasInstalaciónGestión
Traducción actualizada 3 hace días
Docker es una plataforma que permite a los desarrolladores construir, ejecutar y gestionar aplicaciones en contenedores de manera sencilla. Los contenedores son entornos de ejecución independientes y ligeros que utilizan un sistema operativo compartido, manteniendo la aislación. Docker se ha vuelto bastante popular porque ayuda a simplificar los flujos de trabajo, facilitando el despliegue y la escalabilidad.
En esta guía, aprenderemos cómo instalar y usar Docker en un sistema Linux. El artículo cubrirá los pasos de instalación, comandos básicos y algunos ejemplos útiles de casos de uso de Docker en Linux.
Antes de sumergirnos en el proceso de instalación, veamos por qué Docker es una gran herramienta:
Antes de empezar a instalar Docker, debes tener lo siguiente:
sudo
para instalar paquetes de software.El primer paso es asegurarte de que tu sistema esté actualizado. Usa el siguiente comando para actualizar la lista de paquetes e instalar las actualizaciones disponibles:
sudo apt update
sudo apt upgrade
Esto asegura que todos los paquetes existentes estén actualizados y sean compatibles con la instalación de Docker.
Docker requiere algunos paquetes para funcionar correctamente. Ejecuta estos comandos para instalar estos paquetes:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
Explicación: Estos paquetes ayudan a Docker a acceder a los repositorios a través de HTTPS, gestionar certificados y añadir nuevos repositorios.
El siguiente paso es añadir el repositorio de Docker a tus fuentes de APT. Este repositorio contiene la versión más reciente de Docker.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Explicación: El primer comando añade la clave GPG oficial de Docker, asegurando que los paquetes estén correctamente firmados y sean válidos. El segundo añade el repositorio de Docker a la lista de fuentes de APT del sistema.
Ahora, actualiza la lista de paquetes de nuevo para incluir el repositorio de Docker, e instala Docker:
sudo apt update
sudo apt install docker-ce
Explicación: Aquí, docker-ce
significa "Docker Community Edition", una versión gratuita y de código abierto adecuada para distribuciones de Linux.
Después de completar la instalación, debes iniciar el servicio Docker y habilitarlo para que se inicie al arrancar el sistema:
sudo systemctl start docker
sudo systemctl enable docker
Esto asegura que el demonio de Docker esté activo y se inicie automáticamente cuando el sistema se reinicie.
Para verificar si Docker se ha instalado y está funcionando correctamente, ejecuta el siguiente comando:
sudo docker --version
Verás una salida que muestra la versión de Docker instalada en tu sistema.
Para ejecutar un servidor web Nginx usando Docker:
sudo docker run --name my-nginx -p 8080:80 -d nginx
Explicación: Este comando realiza las siguientes tareas:
run
: Lanza un nuevo contenedor.--name my-nginx
: Asigna el nombre “my-nginx” al contenedor para su fácil identificación.-p 8080:80
: Mapea el puerto 80 (el puerto predeterminado de Nginx) en el contenedor al puerto 8080 de la máquina host.-d
: Ejecuta el contenedor en modo separado, permitiéndole correr en segundo plano.nginx
: Indica a Docker qué imagen usar (si no existe localmente, se descargará de Docker Hub).Ahora puedes visitar http://localhost:8080 en tu navegador para ver el servidor Nginx en funcionamiento.
Para ver todos los contenedores Docker que están actualmente en ejecución, usa:
sudo docker ps
La salida mostrará el ID del contenedor, nombre, estado y otra información importante.
Si quieres detener un contenedor en ejecución, usa:
sudo docker stop my-nginx
Reemplaza my-nginx
con el nombre o ID del contenedor que quieras detener.
Para eliminar un contenedor detenido, usa:
sudo docker rm my-nginx
Este comando elimina el contenedor especificado. Asegúrate de que el contenedor esté cerrado antes de eliminarlo.
Para descargar una imagen de Docker desde Docker Hub (un repositorio para imágenes de Docker), usa:
sudo docker pull ubuntu
Explicación: Este comando descarga la imagen oficial de Ubuntu desde Docker Hub para que puedas usarla en la construcción de contenedores.
Si deseas eliminar imágenes de Docker que no se están usando de tu sistema, usa:
sudo docker rmi ubuntu
Este comando eliminará la imagen de Docker especificada.
Docker cumple muchas funciones en el desarrollo y despliegue de software. Algunos escenarios de ejemplo incluyen:
Los desarrolladores pueden utilizar Docker para crear entornos de desarrollo personalizables que coincidan con sus entornos de producción. Esto previene el problema común de "funciona en mi máquina", asegurando consistencia para todos los desarrolladores y sistemas. Aquí hay un ejemplo:
FROM node:14
WORKDIR /app
COPY . .
RUN npm install
CMD ["node", "index.js"]
En este ejemplo de Dockerfile, puedes crear un contenedor de aplicación para Node.js. Especifica una imagen base (node:14
) a usar, establece el directorio de trabajo, copia los archivos locales al contenedor, instala los paquetes requeridos y ejecuta la aplicación Node.js.
La capacidad de Docker para aislar aplicaciones es perfecta para microservicios, donde cada servicio se contiene y despliega independientemente. Usando Docker Compose, puedes configurar y ejecutar múltiples contenedores Docker interconectados con un solo comando.
version: '3'
services:
web:
image: nginx
ports:
- "8080:80"
db:
image: postgres
Este archivo docker-compose.yml
define dos servicios: web
(que ejecuta Nginx) y db
(que ejecuta PostgreSQL). El servicio Nginx mapea el puerto 80 desde dentro del contenedor al puerto 8080 en el host.
Docker se usa a menudo en pipelines CI/CD para automatizar los procesos de prueba y despliegue, creando contenedores bajo demanda para probar el software. Esto permite a los desarrolladores experimentar ciclos de prueba más confiables y rápidos.
Docker ayuda a los desarrolladores y administradores de sistemas a desplegar aplicaciones de manera fluida al mantener la aplicación completa, así como sus dependencias, dentro de un contenedor. Esto hace que sea fácil replicar el mismo entorno en diferentes ubicaciones sin ninguna configuración adicional. Es útil para el despliegue rápido de aplicaciones web, pipelines de análisis de datos y más.
Esta guía proporciona información detallada sobre la instalación y el uso de Docker en sistemas Linux. Como una tecnología de contenedores poderosa y flexible, Docker tiene muchas ventajas para desarrollar, desplegar y gestionar aplicaciones. Los comandos y ejemplos incluidos proporcionan una base para empezar a usar Docker de manera eficiente.
Docker sigue siendo una de las herramientas más influyentes en entornos virtuales, desempeñando un papel vital en las prácticas modernas de DevOps y las infraestructuras de computación en la nube. La adopción de Docker está creciendo constantemente debido a su naturaleza portátil, ligera y consistente a lo largo de las diversas etapas de desarrollo de software y entornos de producción.
Si encuentras algo incorrecto en el contenido del artículo, puedes