Guía Completa para Containerizar Aplicaciones con Docker en Linux
En la era de la automatización y la agilidad, la contenedorización de aplicaciones se volvió esencial para sysadmins e ingenieros DevOps. Este artículo resuelve el problema de cómo contenedorizar aplicaciones de manera eficiente y segura utilizando Docker en un entorno Linux.
Introducción a Docker
Docker es una plataforma de contenedorización que permite desarrollar, compartir y ejecutar aplicaciones de forma aislada. Cada contenedor Docker encapsula una aplicación y todas sus dependencias, garantizando consistencia en diferentes entornos.
Instalando Docker
Antes de comenzar, es necesario instalar Docker. A continuación se muestra cómo hacerlo en distribuciones basadas en Debian y Red Hat:
Debian/Ubuntu
# Atualiza o repositório de pacotes
sudo apt update
# Instala dependências
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
# Adiciona a chave GPG oficial do Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# Adiciona o repositório estável do Docker
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
# Atualiza o repositório de pacotes novamente
sudo apt update
# Instala o Docker
sudo apt install -y docker-ce
CentOS/RHEL
# Instala dependências
sudo yum install -y yum-utils
# Configura o repositório estável do Docker
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# Instala o Docker
sudo yum install -y docker-ce
Creando un Dockerfile
Un Dockerfile es un script de texto que contiene una serie de instrucciones para construir una imagen Docker. Vamos a crear un Dockerfile simple para una aplicación web en Python.
# Dockerfile
FROM python:3.8-slim-buster
WORKDIR /app
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
COPY..
CMD ["python", "app.py"]
Explicando el Dockerfile
FROM: Especifica la imagen base.WORKDIR: Define el directorio de trabajo.COPY: Copia archivos del sistema host al contenedor.RUN: Ejecuta comandos en el contenedor.CMD: Define el comando a ejecutar cuando el contenedor se inicia.
Construyendo y Ejecutando Contenedores
Con el Dockerfile listo, podemos construir y ejecutar nuestra imagen Docker.
# Constrói a imagem Docker
sudo docker build -t minha-app .
# Executa o contêiner
sudo docker run -d -p 5000:5000 minha-app
Gestionando Contenedores
Docker proporciona comandos para gestionar contenedores de forma eficiente.
Listando Contenedores
# Lista todos os contêineres
sudo docker ps -a
Deteniendo y Eliminando Contenedores
# Para um contêiner
sudo docker stop CONTAINER_ID
# Remove um contêiner
sudo docker rm CONTAINER_ID
Por qué esto importa / Cuándo usar
La contenedorización con Docker es crucial para garantizar la portabilidad y la consistencia de las aplicaciones en diferentes entornos. Use Docker cuando necesite:
- Aislar aplicaciones y sus dependencias.
- Facilitar el deployment en diferentes entornos.
- Automatizar el proceso de build y deployment.
Conectando al Tema de Certificación LPI/CompTIA
Dominar Docker es esencial para obtener certificaciones LPI (Linux Professional Institute) y CompTIA en Linux y DevOps. Estas certificaciones valoran no solo el conocimiento teórico, sino también la habilidad práctica de implementar y gestionar tecnologías de contenedorización.
Eso fue solo una pieza. El curso enseña el camino completo — desde tu primer comando hasta el día del examen.