¿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
Elegir la imagen base con FROM
En esta lección elegirás el punto de partida de tu imagen.
FROM es siempre la primera instrucción de un Dockerfile e indica sobre qué imagen se construye: FROM node:20, FROM python:3.12.
Toda imagen parte de otra, y esa elección determina el tamaño, la seguridad y qué herramientas hay disponibles dentro.
La decisión más frecuente es entre la variante completa y la ligera. Una imagen basada en Debian trae un sistema con casi todo; la variante -alpine puede ser diez veces más pequeña. Menos tamaño significa despliegues más rápidos y menos superficie de ataque.
Y tiene su precio, que conviene conocer antes de elegirla: Alpine usa una biblioteca de C distinta, y algunos paquetes con partes compiladas no funcionan o hay que construirlos, lo que a veces hace la construcción más lenta que el ahorro de tamaño. En Python en concreto es un problema conocido.
Aquí vuelve la regla de las etiquetas: fijar la versión. FROM node:latest significa que la imagen se construirá sobre algo distinto dentro de seis meses, y una construcción que funcionaba dejará de hacerlo sin que nadie haya tocado nada.
🧑💻 Puedes escribir este comando en la terminal simulada de Docker para probarlo tú mismo (esta página no incluye terminal interactiva).
