Docker y Kubernetes
Docker y Kubernetes
📦 Docker es una plataforma para crear, empaquetar y ejecutar contenedores individuales de aplicaciones.
🏗️ En cambio, Kubernetes es un sistema de orquestación que gestiona, escala y automatiza el despliegue de cientos o miles de contenedores de Docker en múltiples servidores. Docker crea los contenedores, Kubernetes los gestiona a gran escala.
🐳 Docker Swarm es, al igual que Kubernetes, una herramienta de orquestación de contenedores. En comparación con Kubernetes, se utiliza para proyectos pequeños/medianos y despliegues rápidos de contenedores Docker
Comandos Esenciales de Docker
Para la gestión de imágenes y contenedores en tu máquina local o servidor, utiliza la CLI de Docker.
Gestión de Imágenes
Descargar una imagen
docker pull <imagen>
Descarga una imagen desde un registro, como Docker Hub.
Listar imágenes
docker images
Muestra todas las imágenes descargadas en tu sistema.
Construir una imagen
docker build -t <nombre:tag> .
Construye una imagen a partir de un Dockerfile.
Gestión de Contenedores
Crear y ejecutar un contenedor
docker run -d --name <nombre> <imagen>
Crea y ejecuta un contenedor en segundo plano.
Listar contenedores en ejecución
docker ps
Para ver todos los contenedores, incluidos los detenidos:
docker ps -a
Detener un contenedor
docker stop <nombre>
Detiene un contenedor en ejecución.
Eliminar un contenedor
docker rm <nombre>
Elimina un contenedor detenido.
Ver logs de un contenedor
docker logs -f <nombre>
Muestra los registros (logs) en tiempo real de un contenedor.
Comandos Esenciales de Kubernetes
La interacción con clústeres de Kubernetes se realiza mediante la herramienta de línea de comandos kubectl.
Creación y Despliegue
Aplicar configuración desde un archivo YAML
kubectl apply -f <archivo.yaml>
Crea o actualiza recursos en el clúster basándose en un archivo de configuración.
Ejecutar un contenedor en el clúster
kubectl run <nombre> --image=<imagen>
Ejecuta un contenedor directamente en el clúster.
Inspección y Debugging
Listar recursos
kubectl get <recurso>
Ejemplos:
kubectl get pods
kubectl get nodes
kubectl get services
Ver detalles de un recurso
kubectl describe <recurso> <nombre>
Muestra información detallada sobre el estado de un recurso específico.
Consultar logs de un Pod
kubectl logs <nombre-del-pod>
Extrae los registros de un Pod en ejecución.
Acceder a un contenedor en ejecución
kubectl exec -it <nombre-del-pod> -- /bin/sh
Abre una sesión interactiva dentro de un contenedor en ejecución.
Resumen Rápido
| Docker | Kubernetes |
|---|---|
docker pull |
kubectl apply -f |
docker images |
kubectl get |
docker build |
kubectl describe |
docker run |
kubectl run |
docker ps |
kubectl logs |
docker stop |
kubectl exec -it |
docker rm |
— |
docker logs -f |
— |
TAICord