El "Docker Build"El comando se usa particularmente para construir las imágenes de Docker. Las imágenes de Docker son archivos simples que instruyen y guían contenedores para administrar e implementar aplicaciones en un contenedor. Los desarrolladores pueden querer reconstruir la imagen después de actualizar el código del proyecto o Dockerfile. Sin embargo, al reconstruir una imagen usando "Docker Build", el comando solo actualizará la parte modificada del código y generará la imagen completa utilizando el caché de imagen anterior.
Pero en algunos escenarios, se puede requerir actualizar todas las dependencias del proyecto de la imagen Docker junto con el código. Para este propósito, evite el caché de la imagen anterior y construya limpiamente la imagen.
Este blog ilustrará:
Cómo construir una imagen limpia de Docker usando la opción "-No-Cache"?
Para construir la imagen de Docker sin usar el caché de imagen anterior y actualizar todas las dependencias del proyecto, el ""-no cache"La opción se usa junto con el"Docker Build" dominio.
Mire las instrucciones proporcionadas para limpiar la imagen de Docker utilizando el "-no cache" opción.
Paso 1: Crea DockerFile
Primero, cree un archivo simple llamado "Dockfile". Luego, pegue las siguientes instrucciones en el archivo:
De Python: 3.6
WorkDir /SRC /App
COPIAR…
CMD ["Python", ","./PythonApp.py "]
Paso 2: Crear archivo de programa
En el siguiente paso, cree un archivo de programa simple que contenga un programa simple de Python:
Imprimir ("Hola, estoy construyendo la primera aplicación de Python")
Después de eso, inicie el Terminal de código de Visual Studio para ejecutar los comandos Docker. Además, los usuarios pueden usar directamente los terminales de Windows para ejecutar los comandos Docker:
Paso 3: Build Docker Image
A continuación, construya la nueva imagen de Docker usando el "Docker Build" dominio. Aquí, el nombre de la imagen es especificado por el "-T" opción:
> Docker Build -T Python -IMg .
Paso 4: Actualizar el archivo del programa
A continuación, actualice el archivo del programa haciendo algunos cambios en el código. Por ejemplo, hemos cambiado el "imprimir" declaración:
Imprimir ("Hola, Bienvenido al tutorial de Linuxhint")
Paso 5: Rebuild Docker Imagen
De nuevo, utiliza el "Docker Build"Comando para reconstruir la imagen Docker:
> Docker Build -T Python -IMg .
Se puede notar que solo la porción actualizada se reconstruye y para el comando completo de imagen utiliza el caché de imagen anterior:
Paso 6: Limpie la reconstrucción de la imagen Docker utilizando la opción "-No-Cache"
Para limpiar la construcción de la imagen de Docker, puede utilizar el "-no cache" opción. Esta opción restringe que el motor Docker use un caché de imagen anterior y reconstruye completamente la imagen Docker:
> Docker Build--no-cache -t python-img .
Método alternativo: limpie la imagen de compilación de Docker
El método alternativo para limpiar la imagen de Docker sin usar el caché de imagen anterior es primero para podar el sistema utilizando el "podar del sistema" dominio. Este comando eliminará todas las imágenes, contenedores y redes asociadas no utilizadas y colgantes. Luego, reconstruya la imagen de Docker usando el "Docker Build" dominio.
Paso 1: Sistema de ciruela
Para podar el sistema, ejecute el comando dado:
> Pire del sistema Docker
Paso 2: Imagen de Docker de compilación limpia
Ahora, reconstruya la imagen de Docker con la ayuda del "Docker Build -No -Cache" dominio:
> Docker Build--no-cache -t python-img .
Paso 3: Ejecutar la imagen de Python
Para ejecutar la imagen Docker, utilice el "Docker Run " dominio:
> Docker Run Python-IMg
Nota: No se recomienda podar el sistema, ya que puede eliminar todos los contenedores e imágenes no utilizados y detenidos que se pueden requerir en el futuro.
Conclusión
Para construir una imagen limpia sin usar el caché de imagen anterior de Docker, el "-no cache"La opción se puede utilizar junto con el"Docker Build" dominio. El "-no cache"La opción evita que el motor Docker acceda a un caché de imagen anterior y construye limpiamente la imagen. Este blog ha demostrado cómo construir limpiamente una imagen usando el "-no cache" opción.