¿Ya dominas lo básico? Un curso estructurado de Docker es la vía rápida para dar el salto.
Ver cursos de Docker en UdemyEnlace de afiliado. No te cuesta nada extra.
- 01Preparar el entorno (lo que necesitas)
- 02¿Qué es Docker?
- 03Comprobar la versión con docker --version
- 04Imágenes y contenedores
- 05Descargar una imagen con docker pull
- 06Listar las imágenes con docker images
- 07Arrancar un contenedor con docker run
- 08Dejarlo en segundo plano con docker run -d
- 09Listar los contenedores en marcha con docker ps
- 10Listar todos los contenedores con docker ps -a
- 11Ponerle nombre a un contenedor con docker run --name
- 12Detener un contenedor con docker stop
- 13Volver a arrancar un contenedor parado con docker start
- 14Reiniciar con docker restart
- 15Borrar un contenedor con docker rm
- 16Borrar una imagen con docker rmi
- 17Publicar un puerto con docker run -p
- 18Pasar variables de entorno con docker run -e
- 19Montar un volumen con docker run -v
- 20Ejecutar órdenes dentro de un contenedor con docker exec
- 21Leer los registros con docker logs
- 22Ver los detalles con docker inspect
- 23Ver los procesos con docker top
- 24Vigilar el consumo con docker stats
- 25Copiar archivos con docker cp
- 26¿Qué es un Dockerfile?
- 27Elegir la imagen base con FROM
- 28Fijar el directorio de trabajo con WORKDIR
- 29Añadir archivos con COPY
- 30Ejecutar órdenes con RUN
- 31Fijar la orden de arranque con CMD
- 32Declarar puertos con EXPOSE
- 33Construir una imagen con docker build
- 34Etiquetar una imagen con docker tag
- 35Compartir una imagen con docker push
- 36¿Qué es .dockerignore?
- 37¿Qué es una construcción multietapa?
- 38Crear un volumen con docker volume create
- 39Listar los volúmenes con docker volume ls
- 40Crear una red con docker network create
- 41Listar las redes con docker network ls
- 42¿Qué es Docker Compose?
- 43Levantar todo con docker compose up
- 44Parar todo con docker compose down
- 45Limpiar con docker system prune
Ejecutar órdenes dentro de un contenedor con docker exec
En esta lección entrarás dentro de un contenedor en marcha.
docker exec -it web bash abre una sesión interactiva dentro. Las dos letras de -it son dos opciones: -i mantiene la entrada abierta y -t reserva un terminal. Juntas dan una sesión utilizable.
Es la herramienta de diagnóstico por excelencia: permite mirar archivos, comprobar la configuración generada y probar la conectividad desde el punto de vista del contenedor.
Un tropiezo habitual: no todas las imágenes tienen bash. Las basadas en Alpine, muy comunes por su tamaño, solo traen sh, y el intento falla con executable file not found. La orden correcta ahí es docker exec -it web sh.
Lo que hay que tener claro es la naturaleza de lo que haces dentro: los cambios son temporales. Instalar un paquete o editar un archivo desde aquí sirve para investigar, y desaparece cuando el contenedor se recree. Arreglar un problema así y darlo por resuelto es un error clásico: la solución tiene que acabar en el Dockerfile.
No confundir con docker attach, que se engancha al proceso principal en lugar de abrir uno nuevo — y donde Ctrl+C detiene el contenedor.
🧑💻 Puedes escribir este comando en la terminal simulada de Docker para probarlo tú mismo (esta página no incluye terminal interactiva).
