Buenas prácticas
Las buenas prácticas son los hábitos que evitan los accidentes que ya conoces de las páginas anteriores: versiones que cambian solas, puertos abiertos de más, datos perdidos por borrar sin mirar. No son reglas decorativas: cada una previene un error concreto de esta guía.
Qué aprenderás
Sección titulada «Qué aprenderás»- El resumen accionable de toda la ruta en seis hábitos.
- Cómo aplicarlos en un ejemplo concreto y verificable.
- Qué error evita cada hábito y dónde lo aprendiste.
- Cómo seguir practicando sin romper nada.
Antes de empezar
Sección titulada «Antes de empezar»Necesitas haber recorrido la ruta: Contenedores, Uso básico y Limpieza. Esta página no introduce comandos nuevos salvo donde se indica; ordena lo que ya sabes.
Los seis hábitos
Sección titulada «Los seis hábitos»- Fija versiones siempre. Usa etiquetas exactas (
nginx:1.29,postgres:18-alpine), nuncalatesten ejemplos ni en producción. Las etiquetas mutables cambian de contenido sin avisar. - Nombra tus contenedores.
--namehace legiblesps,logs,stopyrm. Los nombres aleatorios vuelven cada comando posterior más difícil. - Publica solo los puertos necesarios.
-pexpone hacia tu equipo: un servidor web lo necesita, una base de datos interna normalmente no. - Guarda los datos importantes en volúmenes. Todo lo que viva solo en la
capa escribible se pierde con
docker rm. Los volúmenes sobreviven al contenedor. - No guardes secretos en imágenes. Contraseñas y claves van como variables
de entorno o archivos montados, nunca escritas en el
Dockerfileni en capas de la imagen. - Inspecciona antes de borrar. El orden es
docker ps -a, logs, configuración y recién después el remedio. La limpieza empieza midiendo condocker system df, nunca podando a ciegas.
Aplica los hábitos en un ejemplo
Sección titulada «Aplica los hábitos en un ejemplo»Un contenedor bien creado reúne varios hábitos a la vez: versión fija, nombre explícito y un solo puerto publicado.
docker run -d --name web -p 8080:80 nginx:1.29docker psdocker imagesResultado esperado
Sección titulada «Resultado esperado»docker ps confirma el contenedor en ejecución con su puerto, y docker images
confirma la versión fija disponible en local:
CONTAINER ID IMAGE STATUS PORTS NAMESa1b2c3d4e5f6 nginx:1.29 Up 5 seconds 0.0.0.0:8080->80/tcp webRelee el comando y marca cada hábito: etiqueta exacta en lugar de latest,
nombre legible en lugar de aleatorio, un solo puerto publicado. Cuando termines
de practicar, detén y elimina en dos pasos, como aprendiste en
Eliminar contenedores:
docker stop webdocker rm webError común
Sección titulada «Error común»Aplicar un solo hábito y descuidar el resto: fijar la versión pero publicar el puerto de la base de datos, o nombrar todo pero guardar datos en la capa escribible. Las buenas prácticas funcionan en conjunto; repasa la lista ante cada contenedor nuevo hasta que salga sola.
Siguiente paso
Sección titulada «Siguiente paso»Usa Solución de problemas como referencia diaria: su orden fijo de investigación es el séptimo hábito. Y vuelve a Docker Compose para aplicar estos hábitos a sistemas de varios servicios.