2,979 lecturas
2,979 lecturas

Aquí están algunos hacks de Docker que cambiaron mi vida

por Pratik Pathak4m2025/05/01
Read on Terminal Reader
Read this story w/o Javascript

Demasiado Largo; Para Leer

Docker es una poderosa herramienta para construir y administrar aplicaciones basadas en Docker. Se ha convertido en parte de mi rutina diaria, y apenas pienso en ello más.
featured image - Aquí están algunos hacks de Docker que cambiaron mi vida
Pratik Pathak HackerNoon profile picture

Bueno, rompamos esta evolución de Docker. Es salvaje cómo las cosas cambian.


Recuerda cuando Docker se sintió como... luchando con un octopus grumpy? Tantos comandos, tantos conceptos. Construir, correr, empujar, tirar, volúmenes, redes... mi cabeza estaba girando.Debe, pero siempre se sentía un poco clunky, un poco... lleno de fricción. mi historia terminal era sólo un desorden dedocker ps -aDesesperadamente tratando de recordarUnaComando de la semana pasada.


Entonces, lentamente, las cosas comenzaron a hacer clic. No un gran momento de eureka, sino una serie de pequeños "aha!" descubrimientos. Pequeños trucos, optimizaciones, ajustes de flujo de trabajo. Hacks, supongo? Y honestamente, se han adentrado en mi rutina diaria tanto que apenas pienso en ellos.Cómo hago las cosas.


Aquí están los jugadores que cambiaron:

Terminal Aliases: The Sanity Savers ️

¿La primera gran victoria?Aliases.Serio. ♂️ Por qué pasé meses escribiendodocker-compose up -d --buildodocker psuna y otra vez? configurar aliases simples en mi.bashrco.zshrcFue una revelación.

# My sanity savers
alias dcu='docker-compose up -d'
alias dcd='docker-compose down'
alias dcb='docker-compose build'
alias dcr='docker-compose run --rm' # For running one-off commands
alias dps='docker ps'
alias dpa='docker ps -a'
alias di='docker images'
alias dip='docker image prune -f'  # Prune dangling images
alias dvp='docker volume prune -f' # Prune unused volumes
alias dsp='docker system prune -af' # The big cleanup! 💥


Sólo tipificandodcu¡Oh, los milisegundos ahorrados! Suena trivial, pero multiplique eso por decenas de veces al día... se suma. mis dedos me agradecen. Menos escribir, menos escribir, más flujo.


Obtenga el cheatsheet final de docker desde aquí:Cheatsheet de Docker

2 El poderoso.dockerignoreArchivo de la etiqueta: Slimming Down Builds

Luego llegó el.dockerignoreotro momento de “duh”. yo sabía de.gitignoreclaro, pero al principio no entendí lo crucial que era.dockerignorees para el rendimiento de la construcción. Mis primeras ediciones de Docker fuerontan lentaPorque el contexto de construcción estaba enviandotodoMás información sobre Docker Daemon.node_modules, registros, archivos temporales, artefactos de construcción local... ¡todo!


Crear una correcta.dockerignorearchivo, listando toda la basura que no necesitabapor dentroDe repente, las ediciones eran más rápidas. Las imágenes eran más pequeñas (a veces dramáticamente). Se sentía como poner blinders en Docker, diciendo: "Sólo se centra enEste, ignore el resto." Menos confusión, loop de retroalimentación más rápido.

Construcciones en varias etapas: Lean, Mean Production Machines ➡️

Multi-stage builds... bueno, este se sintió un poco más avanzado al principio. El concepto es brillante, sin embargo.

  • Etapa 1: Utilice una imagen base con todas las herramientas de construcción, compiladores, SDKs y dependencias necesarias para crear el artefacto de la aplicación (como un binario compilado o un JavaScript combinado).
  • Etapa 2: Comience una nueva imagen básica limpia y mínima (como la alpina o la desconfiada).
  • Copia: Sólo copia el artefacto final de la primera etapa a esta segunda etapa limpia.


El resultado? imágenes de producción pequeñas! En lugar de enviar imágenes hinchadas con herramientas de construcción y dependencias de desarrolladores (que también son un riesgo de seguridad!), envío imágenes lean que contienenSóloSe tomó un poco de tiempo para envolver mi cabeza alrededor de la sintaxis, pero wow, la diferencia en el tamaño de la imagen y la postura de seguridad es enorme.

Docker Compose Overrides: Taming Environments ️

Vamos a hablarDocker Compose overridearchivos. Gestionar diferentes entornos solía ser un dolor. Dev necesita volúmenes montados para la recarga de código en vivo, puertos de debug abiertos. Prod necesita diferentes variables ambientales, quizás límites de recursos más estrictos, tal vez un punto de entrada diferente. Tratando de gestionar esto con unodocker-compose.ymlera confuso, involucrando secciones comentadas o complejasifcondiciones basadas en variables ambientales.


Descubrimientodocker-compose.override.ymlFue pura bendición. Tienes tu basedocker-compose.ymlcon la configuración común. Luego, creadocker-compose.override.yml(que suele ser ignorado por.gitignore) para tus ajustes de desarrollo local – montaje de directorios de código, exposición de diferentes puertos, adición de herramientas de depuración.overrideUsted puede incluso tener archivos específicos comodocker-compose.prod.ymly utilizar el-fLa bandera:docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d¡Pure separación de preocupaciones. ¡No más cometidos accidentales de configuraciones de dev!

Limpiar regularmente: Mantener el sistema limpio ✨

Por último, el hábito deregular cleanupDocker puede acumularTantoImágenes en peligro (cámaras desetiquetadas de ediciones anteriores), volúmenes no utilizados, contenedores detenidos, cachés de ediciones antiguas... Mi espacio en disco solía desaparecer misteriosamente.


Entrar en el ritmo de la corriente periódicadocker system prune -af(el enfoque agresivo) o el más dirigidodocker image prune, dedocker volume prune, dedocker network prune, ydocker builder pruneSe siente como el decluttering digital. Mantiene las cosas funcionando sin problemas, evita los extraños problemas de caché ("¿por qué no aparece mi cambio?"), y libera gigabytes preciosos. Un espacio de trabajo limpio, una mente limpia, ¿verdad? ♂️ Correrdsp(El alias paradocker system prune -af) es ahora una rutina satisfactoria, casi terapéutica.


Así que sí, estos no son solo 'hacks' ya. Están enraizados. Son memoria muscular. Aliases vuelan de mis dedos sin pensar..dockerignorees uno de los primeros archivos que creé. Las ediciones de múltiples etapas son la configuración predeterminada para cualquier cosa que pueda estar en vivo. Las sobreposiciones de composición manejan las diferencias ambientales de manera suave.


Docker pasó de ser el octopus grumpy a un asistente potente y simplificado. ahora me sale de la manera. las construcciones son más rápidas, las implementaciones son más suaves, mi espacio en disco es más feliz, y honestamente,Yo soyMás feliz porque hay menos fricción. No se trata sólo de Docker en sí; se trata de cómo dominar estos pequeños detalles suavizó todo mi flujo de trabajo de desarrollo y implementación. 👍 Se ha convertido definitivamente en parte de mi vida, o al menos, mi vida digital.

Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks