La mayoría de los profesionales de TI que trabajan en Docker se quedan atascados en un punto en el que se trata del tamaño de los contenedores de Docker. A veces, el tamaño de las imágenes de la ventana acoplable aumenta en GB, lo que consume una gran cantidad de almacenamiento del sistema y dificulta la actualización y el inicio del contenedor. Afortunadamente, tenemos una herramienta gratuita de código abierto en el sistema Linux/Mac que nos permite asegurar y minimizar el tamaño de los contenedores acoplables hasta 30 veces.
¿Por qué usar DockerSlim?
- Para minimizar el tamaño del contenedor, lo que reduce el uso de almacenamiento.
- Para crear contenedores livianos para un inicio más rápido
- Reducir errores
En este artículo, cubriremos cómo instalar DockerSlim y usarlo para minimizar el contenedor docker.
Instalación
Actualmente, Dockerslim es compatible con los sistemas Linux y UNIX, incluido Mac. Los archivos binarios de dockerslim se pueden descargar desde Repositorio GitHub de DockerSlim. Vaya al enlace del repositorio de GitHub que se proporciona a continuación, vaya a la instalación y descargue los archivos binarios más recientes para su sistema.
Repositorio DockerSlim GitHub:https://github.com/docker-slim/docker-slim
Además, puede usar el comando wget para descargar los últimos archivos binarios de DockerSlim como:
$ wget https://downloads.dockerslim.com/releases/1.36.1/dist_linux.tar.gz
Para extraer los archivos descargados, ejecute el siguiente comando.
$ tar -zvxf dist_linux.tar.gz
Una vez extraído el archivo, mueva los archivos binarios al directorio /usr/local/bin como:
$ sudo mv dist_linux/* /usr/local/bin
Para verificar la instalación de DockerSlim, ejecute el siguiente comando.
$ which docker-slim
Salida:
Ejecute la ventana acoplable docker-slim con ayuda de opciones para obtener comandos y guías útiles.
$ docker-slim help
Salida:
DockerSlim proporciona una línea de comandos basada en menús muy útil. Para probar los comandos disponibles, ejecute docker-slim sin ningún argumento. En el shell de DockerSlim, escriba ayuda para obtener el menú de ayuda en el indicador interactivo.
Salida:
Los comandos básicos incluyen lo siguiente:
Salir => Salir del shell de DockerSlim
Xray => Muestra lo que hay dentro de la imagen del contenedor y aplica ingeniería inversa a su Dockerfile
Versión => Mostrar información de versión de DockerSlim y docker
Lint => Analiza las instrucciones del contenedor en Dockerfiles
Preparando un recipiente para adelgazar
Para crear un contenedor acoplable delgado, debemos tener una imagen acoplable disponible en el sistema local. En este artículo, he seleccionado una imagen httpd. Puede seleccionar la imagen según sus necesidades. Use la siguiente sintaxis para extraer imágenes de la ventana acoplable del dockerhub. Recuerda que deberías tener instalado el motor docker y las dependencias en tu sistema
Sintaxis :
$ docker pull <image name>
$ docker pull httpd
Salida:
Verificación de la Salida del Contenedor
Una vez extraída la imagen, ejecútela como el contenedor y verifique la salida. En este ejemplo, he expuesto el puerto 80 del contenedor docker httpd y accedo a la página predeterminada de apache usando el navegador.
$ docker run -d --name apache -p 80:80 httpd
Salida:
Además, para verificar el tamaño de las imágenes de la ventana acoplable, ejecute el siguiente comando
$ docker images
Salida:
Uso de DockerSlim para construir la imagen
Se extrajo la imagen de Docker y verificamos que el contenedor funciona correctamente. Ahora usaremos DockerSlim para crear imágenes optimizadas. Utilice la siguiente sintaxis para crear imágenes de Docker minimizadas.
$ docker-slim build --target <image name>
Ejemplo:
$ docker-slim build --target httpd
Salida:
El resultado muestra que el tamaño de la imagen acoplable se ha reducido de 138 MB a 8,1 MB, lo que se minimiza 16,3 veces con respecto a la imagen original.
Verificando la imagen final
Para verificar el tamaño de la imagen final, ejecute el siguiente comando.
$ docker images
Salida:
Ejecutar el contenedor desde la imagen de compilación de DockerSlim
Finalmente, crearemos un contenedor a partir de la imagen optimizada y monitorearemos la salida. Como he usado imágenes acoplables httpd para minimizar, voy a ejecutar un contenedor httpd desde la última imagen. Puede seleccionar sus imágenes en consecuencia.
Sintaxis:
$ docker run -d --name <name of the container > -p <host port : container port> <image name>
Ejemplo
$ docker run -d --name apache -p 80:80 httpd.slim
donde,
httpd.slim es la imagen acoplable httpd optimizada
Salida:
Puede encontrar que el contenedor está arriba con una imagen optimizada. Exploremos el contenedor en el navegador y busquemos el resultado.
Puede encontrar que el contenedor docker httpd funciona bien con la imagen Docker minimizada.
Conclusión
En este artículo, hemos aprendido cómo instalar DockerSlim en el sistema Linux y cómo se puede utilizar para optimizar y proteger los contenedores Docker.