Una de mis mayores frustraciones con las imágenes de Docker es lo grandes que pueden obtener a ser. A pesar de cómo trato de disponer cuidadosamente mis Dockerfiles y los comandos específicos que uso para regir Docker, todavía estoy a su merced. A salvo del espacio desperdiciado en el disco, las compilaciones tardan una cielo y paso mucho tiempo rastreando dependencias innecesarias. Acepté esto como ineludible hasta que probé SlimToolKit.
Al principio me sentí escéptico porque su promesa parecía demasiado buena para ser verdad. Reduciría mis contenedores drásticamente pero no tocaría mis Dockerfiles ni alteraría mi flujo de trabajo. Sin incautación, lo que siguió posteriormente de utilizar la útil fue un descubrimiento revelador. Vi ganancias inmediatas y aprendí ciertas lecciones sobre optimización de contenedores.
Imagen hinchada de Docker
El peso invisible que llevan tus contenedores
Acababa de configurar una nueva instalación de Linux Mint y, para probar algunas herramientas, instalé Docker y algunos servidores. En sólo dos días, verifiqué el tamaño de mis contenedores y me sorprendió lo grandes que eran para una prueba simple. Nextcloud ocupaba 1,46 GB y mi servidor de medios circunscrito, Jellyfin, ocupaba 1,55 GB. Incluso Nginx, que es extremadamente ligero, ocupaba 161 MB de espacio. Llegué a la conclusión de que esto era ineludible dadas las imágenes pulvínulo y las herramientas de avance, shells y cachés sobrantes.
Sin incautación, posteriormente de ejecutar el historia de la ventana acoplable comando, quedó claro que el problema no eran mis Dockerfiles. Las capas que no son necesarias en tiempo de ejecución estaban inflando mis imágenes. Estos incluyen bibliotecas y paquetes instalados en caso de que sean necesarios. Por primera vez, pude apreciar lo opacos que son los tamaños de los contenedores. No puedes hacerse cargo que una imagen es sencilla sin comprobar primero su contenido.
Quedó claro por qué Kit de herramientas delgadas podría solucionar el problema. Puede inspeccionar y analizar contenedores dinámicamente, observando qué usan y qué no usa el contenedor.
Cómo funciona y qué puede hacer
En el pasado, para optimizar mis contenedores, probé compilaciones de varias etapas, higienización de paquetes y scripts personalizados; Todos se sentían demasiado frágiles. SlimToolKit era diferente. Solucionó el problema observando el contenedor mientras se ejecutaba, rastreando qué archivos usaba o accedía y creando una imagen que incluía solo esos archivos.
Además fue transparente. Mi primera vez corriendo el complexión flaca comando, observé que la CLI se detenía en ciertos puntos y luego me solicitaba una nueva entrada. Todo lo que analizó, incluidas bibliotecas y archivos temporales, fue claro de observar. Este fue un enfoque que me dio control y fue diferente de otros optimizadores.
Eliminó shells, binarios y paquetes no utilizados. Esto no solo redujo el tamaño de la imagen sino que además mejoró la seguridad al dominar la superficie de ataque.
Mi configuración exacta y mi primera ejecución de prueba.
Instalar SlimToolKit es un proceso conveniente sencillo. Primero debe probar que Docker esté instalado y ejecutándose, luego descargar la imagen de SlimToolKit. Puedes seguir estos pasos:
-
Ejecute el sucesivo comando para mostrar si tiene Docker instalado; deberías obtener un resultado similar a Docker traducción 24.0.0, compilación xyz.
docker --version
-
Si Docker no se está ejecutando, puede ejecutar los siguientes comandos para iniciarlo:
sudo systemctl start docker
sudo systemctl enable docker
-
Extraiga la imagen oficial de Docker para SlimToolKit ejecutando este comando:
docker pull dslim/slim
SlimToolKit se ejecuta interiormente de un contenedor, por lo que no es necesaria ninguna instalación más allá de esto. Mi primera prueba fue ejecutar SlimToolKit en mi contenedor Nginx, que ocupaba rodeando de 161 MB. Para iniciar el proceso, ejecuté el sucesivo comando:
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock dslim/slim build --target nginx:latest --tag nginx-slim:latest
Durante todo el proceso pude ver cómo SlimToolKit inspeccionaba la imagen. En un momento, creó un contenedor temporal y además sondeó los puntos finales HTTP. Al final, registré una reducción de 9,58 veces, de 161 MB a 16,8 MB. Esto me dio la confianza para seguir delante con la reducción de otros contenedores y los resultados fueron igualmente impresionantes: Netdata pasó de 1,24 GB a 295 MB y Uptime Kuma pasó de 448 MB a 135 MB.
Lecciones, consejos y cómo hacer de esto parte de su flujo de trabajo
Lo que aprendí en el camino
Posteriormente de usar SlimToolKit, la primera advertencia que aprendí fue que la optimización de contenedores no debería ser un proceso doloroso. Por primera vez pude arreglar contenedores grandes sin confiarse mi trabajo existente. Realizó observación dinámicos durante el proceso. Esto era mucho más competente que modificar manualmente los Dockerfiles.
En el proceso, descubrí trucos de flujo de trabajo que me permiten economizar tiempo. Por ejemplo, el radiografía flaca El comando me muestra qué está hinchando mi contenedor incluso antiguamente de comenzar a reducirlo. Puedo solucionar problemas de contenedores mínimos ejecutando el depuración flaca comando, eliminando la indigencia de escribir scripts personalizados. Además me di cuenta de que puedo preservar transiciones fluidas documentando rutas para configuraciones de múltiples contenedores.
Sin incautación, el educación más significativo fue que usar SlimToolKit no fue una experiencia única; Puedo integrarlo en procesos de CI/CD para certificar que las compilaciones futuras sean más eficientes.
Ocho mejores prácticas de Docker que debes conocer
Asegúrese de utilizar las imágenes de Docker con todo su sorpresa con estos prácticos consejos.
Cuando las imágenes más pequeñas cambian la forma de construir
Usar SlimToolKit terminó siendo una experiencia que cambió mi forma de ver los contenedores. Es más sencillo que las imágenes más pequeñas se muevan a través de los registros, pero además se implementan más rápido y se rompen con menos frecuencia.
Sin incautación, la experiencia más importante fue notar la claridad mejorada que se obtiene al regir imágenes más delgadas. Ha facilitado la depuración y las revisiones de seguridad son menos abstractas. Esta útil me hace percibir como si finalmente hubiera entendido Docker.





