{"id":1244,"date":"2024-07-23T12:16:07","date_gmt":"2024-07-23T12:16:07","guid":{"rendered":"https:\/\/dockerpros.com\/?post_type=glossary&#038;p=1244"},"modified":"2024-07-23T12:21:35","modified_gmt":"2024-07-23T12:21:35","slug":"docker-build-cache","status":"publish","type":"glossary","link":"https:\/\/dockerpros.com\/it\/wiki\/docker-build-cache\/","title":{"rendered":"Cache di build di Docker"},"content":{"rendered":"<h1>Understanding Docker Build Cache: An Advanced Guide<\/h1>\n<p>La cache di Docker Build \u00e8 un meccanismo che migliora l'efficienza del Docker <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/image\/\" target=\"_blank\">immagine<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">An image is a visual representation of an object or scene, typically composed of pixels in digital formats. It can convey information, evoke emotions, and facilitate communication across various media.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> building process by storing intermediate layers of images, which can be reused in subsequent builds. This allows developers to avoid redundant work, significantly speeding up the build process when changes are made. By intelligently leveraging caching, Docker helps optimize resource usage and time management, making it an essential feature for developers working with containerized applications.<\/p>\n<h2>The Architecture of Docker Build Cache<\/h2>\n<p>To grasp the nuances of Docker Build Cache, it&#8217;s important to first understand how Docker images are constructed. A Docker <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/image\/\" target=\"_blank\">immagine<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">An image is a visual representation of an object or scene, typically composed of pixels in digital formats. It can convey information, evoke emotions, and facilitate communication across various media.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> consists of a series of layers, each representing a change made to the filesystem. These layers are created as a result of the commands specified in the <span class=\"glossaryai-tooltip glossary-term-652\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/dockerfile\/\" target=\"_blank\">Dockerfile<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Un Dockerfile \u00e8 uno script contenente una serie di istruzioni per automatizzare la creazione di immagini Docker. Specifica l'immagine di base, le dipendenze dell'applicazione e la configurazione, facilitando la distribuzione coerente in diversi ambienti.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/dockerfile\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>. The layers are built in a specific order, and Docker maintains a cache of these layers to optimize future builds.<\/p>\n<h3>Dockerfile and Layer Creation<\/h3>\n<p>When a <span class=\"glossaryai-tooltip glossary-term-652\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/dockerfile\/\" target=\"_blank\">Dockerfile<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Un Dockerfile \u00e8 uno script contenente una serie di istruzioni per automatizzare la creazione di immagini Docker. Specifica l'immagine di base, le dipendenze dell'applicazione e la configurazione, facilitando la distribuzione coerente in diversi ambienti.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/dockerfile\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> is processed, each instruction (like <code><span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/run\/\" target=\"_blank\">RUN<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" si riferisce a un comando in diversi linguaggi di programmazione e sistemi operativi per eseguire un programma o script specificato. Avvia processi, fornendo un ambiente controllato per l'esecuzione dei compiti.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span><\/code>, <code><span class=\"glossaryai-tooltip glossary-term-673\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/copy\/\" target=\"_blank\">COPIA<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">COPY \u00e8 un comando nella programmazione informatica e nella gestione dei dati che facilita la duplicazione di file o dati da una posizione a un'altra, garantendo l'integrit\u00e0 e l'accessibilit\u00e0 dei dati.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/copy\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span><\/code>, <code><span class=\"glossaryai-tooltip glossary-term-674\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/add\/\" target=\"_blank\">ADD<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">L'istruzione ADD in Docker \u00e8 un comando utilizzato nei Dockerfile per copiare file e directory da una macchina host in un'immagine Docker durante il processo di build. Non solo semplifica il trasferimento di file locali, ma fornisce anche funzionalit\u00e0 aggiuntive, come l'estrazione automatica di file compressi e il download di file remoti tramite HTTP o HTTPS.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/add\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span><\/code>, etc.) generates a new layer. The layers are immutable, meaning once they are created, they cannot be changed. Each layer is identified by a unique hash based on its content. If the contents of a layer remain unchanged, Docker can reuse the cached version of that layer for subsequent builds.<\/p>\n<h3>Comportamento della cache<\/h3>\n<p>Docker\u2019s caching mechanism uses a specific algorithm to determine whether to use a cached layer or build a new one. The caching mechanism follows the principle of \"cache invalidation.\" If any part of a layer\u2019s command changes, that layer and all subsequent layers are rebuilt. This behavior allows Docker to be both efficient and predictable.<\/p>\n<h2>Tipi di Cache di Build\n\nBuild Cache \u00e8 un meccanismo che memorizza i risultati delle build precedenti per accelerare le build successive. Esistono diversi tipi di cache di build, ognuno con i propri vantaggi e svantaggi. In questo articolo, esploreremo i tipi pi\u00f9 comuni di cache di build.\n\n1. Cache Locale\n\nLa cache locale \u00e8 la forma pi\u00f9 semplice di cache di build. Memorizza i risultati delle build sul disco locale del computer. Quando si avvia una nuova build, il sistema di build controlla prima la cache locale per vedere se i risultati sono gi\u00e0 disponibili. Se lo sono, la build viene completata rapidamente senza dover ricompilare tutto da zero.\n\nVantaggi:\n- Facile da implementare\n- Nessuna dipendenza da servizi esterni\n- Velocizza le build successive sulla stessa macchina\n\nSvantaggi:\n- Non condivisibile tra pi\u00f9 sviluppatori\n- Occupa spazio su disco\n- Non \u00e8 utile per le build su macchine diverse\n\n2. Cache Remota\n\nLa cache remota \u00e8 un servizio centralizzato che memorizza i risultati delle build e li rende disponibili a pi\u00f9 sviluppatori. Quando un sviluppatore avvia una build, il sistema di build controlla prima la cache remota per vedere se i risultati sono gi\u00e0 disponibili. Se lo sono, la build viene completata rapidamente senza dover ricompilare tutto da zero.\n\nVantaggi:\n- Condivisa tra pi\u00f9 sviluppatori\n- Risparmia tempo e risorse per le build ripetute\n- Utile per le build su macchine diverse\n\nSvantaggi:\n- Richiede un servizio esterno\n- Pu\u00f2 essere pi\u00f9 lento della cache locale a causa della latenza di rete\n- Richiede una configurazione aggiuntiva\n\n3. Cache ibrida\n\nLa cache ibrida combina i vantaggi della cache locale e remota. Memorizza i risultati delle build sia sul disco locale che su un servizio remoto. Quando si avvia una nuova build, il sistema di build controlla prima la cache locale, poi la cache remota se necessario.\n\nVantaggi:\n- Combina i vantaggi della cache locale e remota\n- Riduce la latenza di rete utilizzando la cache locale quando possibile\n- Condivisa tra pi\u00f9 sviluppatori\n\nSvantaggi:\n- Richiede una configurazione pi\u00f9 complessa\n- Occupa spazio su disco locale\n- Pu\u00f2 essere pi\u00f9 lento della cache locale a causa della latenza di rete\n\n4. Cache a livelli\n\nLa cache a livelli \u00e8 un approccio pi\u00f9 avanzato che utilizza pi\u00f9 livelli di cache per ottimizzare le prestazioni. Ad esempio, potrebbe utilizzare una cache locale veloce ma limitata, seguita da una cache remota pi\u00f9 grande ma pi\u00f9 lenta.\n\nVantaggi:\n- Ottimizza le prestazioni utilizzando pi\u00f9 livelli di cache\n- Riduce la latenza di rete utilizzando la cache locale quando possibile\n- Condivisa tra pi\u00f9 sviluppatori\n\nSvantaggi:\n- Richiede una configurazione pi\u00f9 complessa\n- Occupa spazio su disco locale\n- Pu\u00f2 essere pi\u00f9 lento della cache locale a causa della latenza di rete\n\nIn conclusione, la scelta del tipo di cache di build dipende dalle esigenze specifiche del progetto e del team di sviluppo. La cache locale \u00e8 la pi\u00f9 semplice da implementare ma non \u00e8 condivisibile tra pi\u00f9 sviluppatori. La cache remota \u00e8 condivisibile ma richiede un servizio esterno. La cache ibrida combina i vantaggi della cache locale e remota, mentre la cache a livelli ottimizza le prestazioni utilizzando pi\u00f9 livelli di cache.<\/h2>\n<p>Docker supports different types of build caches that developers can utilize to enhance their build processes:<\/p>\n<h3>1. Cache di compilazione locale<\/h3>\n<p>La cache di build locale viene memorizzata sulla macchina dello sviluppatore. \u00c8 costituita da tutti gli strati creati durante la costruzione delle immagini su quella macchina. Questa cache viene creata automaticamente man mano che gli strati vengono costruiti e pu\u00f2 essere utilizzata nelle build future. Tuttavia, \u00e8 specifica dell'ambiente locale, il che significa che se uno sviluppatore cambia macchina o ambiente, non avr\u00e0 accesso a questa cache.<\/p>\n<h3>2. Remote Build Cache<\/h3>\n<p>With the introduction of BuildKit, Docker supports remote caching capabilities. This allows developers to push their build cache to remote repositories. Remote caching can significantly speed up builds in Continuous Integration\/Continuous Deployment (CI\/CD) pipelines by allowing multiple developers or CI\/CD agents to share cache layers.<\/p>\n<h3>3. Cache Export\/Import<\/h3>\n<p>Docker also provides the ability to export and import build cache. Using the <code>--cache-from<\/code> option, developers can specify existing images or cache stored in a remote <span class=\"glossaryai-tooltip glossary-term-659\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/repository\/\" target=\"_blank\">repository<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">A repository is a centralized location where data, code, or documents are stored, managed, and maintained. It facilitates version control, collaboration, and efficient resource sharing among users.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/repository\/\">More \u00bb<\/a><\/span><\/span><span class=\"gai-tooltip-video-wrapper\"><span class=\"gai-tooltip-video\" data-src=\"https:\/\/www.youtube.com\/embed\/_OXj8BGxNPY?rel=0&#038;modestbranding=1\"><\/span><\/span><\/span><\/span><\/span> per essere utilizzato come fonte di cache per la build. Questa funzionalit\u00e0 consente una maggiore flessibilit\u00e0 nella gestione degli ambienti di build e accelera le build sfruttando le cache esistenti da altre fonti.<\/p>\n<h2>Optimizing the Build Cache Usage<\/h2>\n<p>To effectively utilize Docker Build Cache, developers can adopt several best practices that will help optimize the way caches are used during the <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/image\/\" target=\"_blank\">immagine<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">An image is a visual representation of an object or scene, typically composed of pixels in digital formats. It can convey information, evoke emotions, and facilitate communication across various media.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> build process.<\/p>\n<h3>1. Ordina intelligentemente le istruzioni del Dockerfile<\/h3>\n<p>The order of commands in a <span class=\"glossaryai-tooltip glossary-term-652\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/dockerfile\/\" target=\"_blank\">Dockerfile<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Un Dockerfile \u00e8 uno script contenente una serie di istruzioni per automatizzare la creazione di immagini Docker. Specifica l'immagine di base, le dipendenze dell'applicazione e la configurazione, facilitando la distribuzione coerente in diversi ambienti.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/dockerfile\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> can significantly impact cache efficiency. Instructions that are less likely to change should be placed higher in the <span class=\"glossaryai-tooltip glossary-term-652\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/dockerfile\/\" target=\"_blank\">Dockerfile<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Un Dockerfile \u00e8 uno script contenente una serie di istruzioni per automatizzare la creazione di immagini Docker. Specifica l'immagine di base, le dipendenze dell'applicazione e la configurazione, facilitando la distribuzione coerente in diversi ambienti.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/dockerfile\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>. For instance, installing dependencies should come before adding application code. This way, if only the application code changes, the dependency layer can still be reused from the cache.<\/p>\n<pre><code class=\"language-dockerfile\"># Efficiently ordering <span class=\"glossaryai-tooltip glossary-term-652\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/dockerfile\/\" target=\"_blank\">Dockerfile<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Un Dockerfile \u00e8 uno script contenente una serie di istruzioni per automatizzare la creazione di immagini Docker. Specifica l'immagine di base, le dipendenze dell'applicazione e la configurazione, facilitando la distribuzione coerente in diversi ambienti.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/dockerfile\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> instructions\nFROM <span class=\"glossaryai-tooltip glossary-term-684\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/node\/\" target=\"_blank\">node<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Node, or Node.js, is a JavaScript runtime built on Chrome's V8 engine, enabling server-side scripting. It allows developers to build scalable network applications using asynchronous, event-driven architecture.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/node\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>:14\n\n# Install dependencies\n<span class=\"glossaryai-tooltip glossary-term-673\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/copy\/\" target=\"_blank\">COPIA<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">COPY \u00e8 un comando nella programmazione informatica e nella gestione dei dati che facilita la duplicazione di file o dati da una posizione a un'altra, garantendo l'integrit\u00e0 e l'accessibilit\u00e0 dei dati.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/copy\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> package*.json .\/\n<span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/run\/\" target=\"_blank\">RUN<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" si riferisce a un comando in diversi linguaggi di programmazione e sistemi operativi per eseguire un programma o script specificato. Avvia processi, fornendo un ambiente controllato per l'esecuzione dei compiti.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> npm install\n\n# <span class=\"glossaryai-tooltip glossary-term-673\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/copy\/\" target=\"_blank\">Copy<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">COPY \u00e8 un comando nella programmazione informatica e nella gestione dei dati che facilita la duplicazione di file o dati da una posizione a un'altra, garantendo l'integrit\u00e0 e l'accessibilit\u00e0 dei dati.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/copy\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> application code\n<span class=\"glossaryai-tooltip glossary-term-673\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/copy\/\" target=\"_blank\">COPIA<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">COPY \u00e8 un comando nella programmazione informatica e nella gestione dei dati che facilita la duplicazione di file o dati da una posizione a un'altra, garantendo l'integrit\u00e0 e l'accessibilit\u00e0 dei dati.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/copy\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> . .\n\n# Build the application\n<span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/run\/\" target=\"_blank\">RUN<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" si riferisce a un comando in diversi linguaggi di programmazione e sistemi operativi per eseguire un programma o script specificato. Avvia processi, fornendo un ambiente controllato per l'esecuzione dei compiti.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> npm <span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/run\/\" target=\"_blank\">correre<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" si riferisce a un comando in diversi linguaggi di programmazione e sistemi operativi per eseguire un programma o script specificato. Avvia processi, fornendo un ambiente controllato per l'esecuzione dei compiti.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> costruire<\/code><\/pre>\n<p>Nell'esempio sopra, se cambia solo il codice dell'applicazione, il... <code>npm install<\/code> step can be cached, saving time.<\/p>\n<h3>2. Utilizzare le build multi-stage<\/h3>\n<p>I multi-stage builds consentono agli sviluppatori di creare immagini finali pi\u00f9 piccole utilizzando pi\u00f9 <code>FROM<\/code> statements in a <span class=\"glossaryai-tooltip glossary-term-652\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/dockerfile\/\" target=\"_blank\">Dockerfile<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Un Dockerfile \u00e8 uno script contenente una serie di istruzioni per automatizzare la creazione di immagini Docker. Specifica l'immagine di base, le dipendenze dell'applicazione e la configurazione, facilitando la distribuzione coerente in diversi ambienti.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/dockerfile\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>. Each stage can utilize cached layers from previous stages, reducing the overall <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/image\/\" target=\"_blank\">immagine<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">An image is a visual representation of an object or scene, typically composed of pixels in digital formats. It can convey information, evoke emotions, and facilitate communication across various media.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> size and build time. <\/p>\n<pre><code class=\"language-dockerfile\"># First stage: build the application\nFROM <span class=\"glossaryai-tooltip glossary-term-684\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/node\/\" target=\"_blank\">node<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Node, or Node.js, is a JavaScript runtime built on Chrome's V8 engine, enabling server-side scripting. It allows developers to build scalable network applications using asynchronous, event-driven architecture.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/node\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>:14 Come costruttore\n\n<span class=\"glossaryai-tooltip glossary-term-673\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/copy\/\" target=\"_blank\">COPIA<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">COPY \u00e8 un comando nella programmazione informatica e nella gestione dei dati che facilita la duplicazione di file o dati da una posizione a un'altra, garantendo l'integrit\u00e0 e l'accessibilit\u00e0 dei dati.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/copy\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> package*.json .\/\n<span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/run\/\" target=\"_blank\">RUN<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" si riferisce a un comando in diversi linguaggi di programmazione e sistemi operativi per eseguire un programma o script specificato. Avvia processi, fornendo un ambiente controllato per l'esecuzione dei compiti.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> npm install\n<span class=\"glossaryai-tooltip glossary-term-673\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/copy\/\" target=\"_blank\">COPIA<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">COPY \u00e8 un comando nella programmazione informatica e nella gestione dei dati che facilita la duplicazione di file o dati da una posizione a un'altra, garantendo l'integrit\u00e0 e l'accessibilit\u00e0 dei dati.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/copy\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> . .\n<span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/run\/\" target=\"_blank\">RUN<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" si riferisce a un comando in diversi linguaggi di programmazione e sistemi operativi per eseguire un programma o script specificato. Avvia processi, fornendo un ambiente controllato per l'esecuzione dei compiti.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> npm <span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/run\/\" target=\"_blank\">correre<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" si riferisce a un comando in diversi linguaggi di programmazione e sistemi operativi per eseguire un programma o script specificato. Avvia processi, fornendo un ambiente controllato per l'esecuzione dei compiti.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> build\n\n# Second stage: create the final image\nFROM nginx:alpine\n\n<span class=\"glossaryai-tooltip glossary-term-673\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/copy\/\" target=\"_blank\">COPIA<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">COPY \u00e8 un comando nella programmazione informatica e nella gestione dei dati che facilita la duplicazione di file o dati da una posizione a un'altra, garantendo l'integrit\u00e0 e l'accessibilit\u00e0 dei dati.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/copy\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> --from=builder \/app\/build \/usr\/share\/nginx\/html<\/code><\/pre>\n<p>With this approach, if the application code changes, only the build stage needs to be rebuilt, while the final <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/image\/\" target=\"_blank\">immagine<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">An image is a visual representation of an object or scene, typically composed of pixels in digital formats. It can convey information, evoke emotions, and facilitate communication across various media.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> can still benefit from the cached layers of the base <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/image\/\" target=\"_blank\">immagine<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">An image is a visual representation of an object or scene, typically composed of pixels in digital formats. It can convey information, evoke emotions, and facilitate communication across various media.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>.<\/p>\n<h3>3. Utilizzare BuildKit<\/h3>\n<p>Docker BuildKit introduces more advanced caching and parallel execution features. To enable BuildKit, set the environment variable <code>DOCKER_BUILDKIT=1<\/code>. Con BuildKit, gli sviluppatori possono sfruttare funzionalit\u00e0 come l'importazione\/esportazione della cache, il raggruppamento automatico dei livelli e i segreti di compilazione.<\/p>\n<h3>4. Evita Strati Inutili<\/h3>\n<p>Each command in the <span class=\"glossaryai-tooltip glossary-term-652\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/dockerfile\/\" target=\"_blank\">Dockerfile<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Un Dockerfile \u00e8 uno script contenente una serie di istruzioni per automatizzare la creazione di immagini Docker. Specifica l'immagine di base, le dipendenze dell'applicazione e la configurazione, facilitando la distribuzione coerente in diversi ambienti.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/dockerfile\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> creates a new layer. By minimizing the number of commands, you can reduce the total layer count, which can improve cache performance. Grouping commands using <code>&amp;&amp;<\/code> can help achieve this.<\/p>\n<pre><code class=\"language-dockerfile\"># Instead of multiple <span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/run\/\" target=\"_blank\">RUN<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" si riferisce a un comando in diversi linguaggi di programmazione e sistemi operativi per eseguire un programma o script specificato. Avvia processi, fornendo un ambiente controllato per l'esecuzione dei compiti.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> commands\n<span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/run\/\" target=\"_blank\">RUN<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" si riferisce a un comando in diversi linguaggi di programmazione e sistemi operativi per eseguire un programma o script specificato. Avvia processi, fornendo un ambiente controllato per l'esecuzione dei compiti.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> apt-get update &amp;&amp; apt-get install -y \n  package1 \n  package2 \n  package3<\/code><\/pre>\n<p>Reducing the number of layers minimizes the amount of data that needs to be cached and speeds up the build process.<\/p>\n<h3>5. Utilizzo <code>--no-cache<\/code> Strategically<\/h3>\n<p>Sebbene le cache siano utili, ci sono momenti in cui potresti voler forzare una ricostruzione. Utilizzando il <code>--no-cache<\/code> option when building an <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/image\/\" target=\"_blank\">immagine<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">An image is a visual representation of an object or scene, typically composed of pixels in digital formats. It can convey information, evoke emotions, and facilitate communication across various media.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> ensures that no cached layers are used. This can be helpful for debugging or ensuring that you have the latest versions of dependencies.<\/p>\n<h2>Diagnosing Build Cache Issues<\/h2>\n<p>Despite best efforts, issues with the build cache may arise. Diagnosing these issues can be crucial for maintaining efficient build processes.<\/p>\n<h3>1. Mancate cache di compilazione<\/h3>\n<p>A common issue is experiencing cache misses, where Docker decides to rebuild layers that you expect to be cached. This typically happens when:<\/p>\n<ul>\n<li>The command has changed.<\/li>\n<li>Il contenuto dei file copiati o aggiunti \u00e8 cambiato.<\/li>\n<li>The base <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/image\/\" target=\"_blank\">immagine<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">An image is a visual representation of an object or scene, typically composed of pixels in digital formats. It can convey information, evoke emotions, and facilitate communication across various media.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> has been updated, invalidating its layers.<\/li>\n<\/ul>\n<p>To investigate cache misses, you can use the <code>docker build --progress=plain<\/code> flag, che fornisce un output dettagliato sui livelli che vengono costruiti e su quelli che vengono memorizzati nella cache.<\/p>\n<h3>2. Cache Bloat<\/h3>\n<p>Nel tempo, la cache di build locale pu\u00f2 diventare gonfia a causa di livelli non utilizzati. Pulire regolarmente la cache pu\u00f2 aiutare a mitigare questo problema. Utilizzando comandi come <code>docker system prune<\/code> can help clear unused images, containers, and networks, including cached layers.<\/p>\n<h3>3. Monitoring Build Performance<\/h3>\n<p>Strumenti come Docker\u2019s BuildKit offrono approfondimenti sulle prestazioni di compilazione. Analizzando i tempi di compilazione e i modelli di utilizzo della cache, gli sviluppatori possono identificare i colli di bottiglia e le aree di miglioramento.<\/p>\n<h2>Conclusione<\/h2>\n<p>Docker Build Cache is a powerful feature that can significantly enhance the efficiency of building Docker images. Understanding the architecture, types, and best practices for utilizing the build cache can lead to faster builds and more efficient resource usage. By strategically ordering <span class=\"glossaryai-tooltip glossary-term-652\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/dockerfile\/\" target=\"_blank\">Dockerfile<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Un Dockerfile \u00e8 uno script contenente una serie di istruzioni per automatizzare la creazione di immagini Docker. Specifica l'immagine di base, le dipendenze dell'applicazione e la configurazione, facilitando la distribuzione coerente in diversi ambienti.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/dockerfile\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> instructions, leveraging multi-stage builds, using BuildKit, and regularly diagnosing cache issues, developers can master the use of Docker Build Cache, ultimately leading to improved development workflows.<\/p>\n<p>Man mano che il mondo della containerizzazione evolve, rimanere aggiornati sulle ultime funzionalit\u00e0 e miglioramenti di Docker continuer\u00e0 ad essere fondamentale per gli sviluppatori che mirano a ottimizzare i loro processi CI\/CD. Abbracciare le complessit\u00e0 della cache di build di Docker garantisce che tu sia ben equipaggiato per gestire le complessit\u00e0 dello sviluppo di applicazioni moderne in un ambiente containerizzato.<\/p>","protected":false},"excerpt":{"rendered":"<p>Docker Build Cache optimizes the <span class=\"glossaryai-tooltip glossary-term-651\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/it\/wiki\/image\/\" target=\"_blank\">immagine<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">An image is a visual representation of an object or scene, typically composed of pixels in digital formats. It can convey information, evoke emotions, and facilitate communication across various media.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/it\/wiki\/image\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> building process by storing intermediate layers. This reduces build time and resource consumption, allowing developers to efficiently manage dependencies and streamline workflows.<\/p>","protected":false},"author":1,"featured_media":1805,"parent":0,"template":"","glossary-cat":[],"class_list":["post-1244","glossary","type-glossary","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Docker Build Cache - Dockerpros<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dockerpros.com\/it\/wiki\/docker-build-cache\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Docker Build Cache - Dockerpros\" \/>\n<meta property=\"og:description\" content=\"Docker Build Cache optimizes the image building process by storing intermediate layers. This reduces build time and resource consumption, allowing developers to efficiently manage dependencies and streamline workflows.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dockerpros.com\/it\/wiki\/docker-build-cache\/\" \/>\n<meta property=\"og:site_name\" content=\"Dockerpros\" \/>\n<meta property=\"article:modified_time\" content=\"2024-07-23T12:21:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/docker-build-cache_1244.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/dockerpros.com\/wiki\/docker-build-cache\/\",\"url\":\"https:\/\/dockerpros.com\/wiki\/docker-build-cache\/\",\"name\":\"Docker Build Cache - Dockerpros\",\"isPartOf\":{\"@id\":\"https:\/\/dockerpros.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/dockerpros.com\/wiki\/docker-build-cache\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/dockerpros.com\/wiki\/docker-build-cache\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/docker-build-cache_1244.jpg\",\"datePublished\":\"2024-07-23T12:16:07+00:00\",\"dateModified\":\"2024-07-23T12:21:35+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/dockerpros.com\/wiki\/docker-build-cache\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/dockerpros.com\/wiki\/docker-build-cache\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/dockerpros.com\/wiki\/docker-build-cache\/#primaryimage\",\"url\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/docker-build-cache_1244.jpg\",\"contentUrl\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/docker-build-cache_1244.jpg\",\"width\":800,\"height\":600,\"caption\":\"docker-build-cache-2\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/dockerpros.com\/wiki\/docker-build-cache\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/dockerpros.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Glossary\",\"item\":\"https:\/\/dockerpros.com\/fr\/wiki\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Docker Build Cache\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/dockerpros.com\/#website\",\"url\":\"https:\/\/dockerpros.com\/\",\"name\":\"Dockerpros\",\"description\":\"DockerPros \u2013 Your Ultimate Docker Resource Hub\",\"publisher\":{\"@id\":\"https:\/\/dockerpros.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/dockerpros.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/dockerpros.com\/#organization\",\"name\":\"Dockerpros\",\"url\":\"https:\/\/dockerpros.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png\",\"contentUrl\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png\",\"width\":532,\"height\":114,\"caption\":\"Dockerpros\"},\"image\":{\"@id\":\"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Docker Build Cache - Dockerpros","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/dockerpros.com\/it\/wiki\/docker-build-cache\/","og_locale":"it_IT","og_type":"article","og_title":"Docker Build Cache - Dockerpros","og_description":"Docker Build Cache optimizes the image building process by storing intermediate layers. This reduces build time and resource consumption, allowing developers to efficiently manage dependencies and streamline workflows.","og_url":"https:\/\/dockerpros.com\/it\/wiki\/docker-build-cache\/","og_site_name":"Dockerpros","article_modified_time":"2024-07-23T12:21:35+00:00","og_image":[{"width":800,"height":600,"url":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/docker-build-cache_1244.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Tempo di lettura stimato":"6 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/dockerpros.com\/wiki\/docker-build-cache\/","url":"https:\/\/dockerpros.com\/wiki\/docker-build-cache\/","name":"Docker Build Cache - Dockerpros","isPartOf":{"@id":"https:\/\/dockerpros.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/dockerpros.com\/wiki\/docker-build-cache\/#primaryimage"},"image":{"@id":"https:\/\/dockerpros.com\/wiki\/docker-build-cache\/#primaryimage"},"thumbnailUrl":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/docker-build-cache_1244.jpg","datePublished":"2024-07-23T12:16:07+00:00","dateModified":"2024-07-23T12:21:35+00:00","breadcrumb":{"@id":"https:\/\/dockerpros.com\/wiki\/docker-build-cache\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dockerpros.com\/wiki\/docker-build-cache\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/dockerpros.com\/wiki\/docker-build-cache\/#primaryimage","url":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/docker-build-cache_1244.jpg","contentUrl":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/docker-build-cache_1244.jpg","width":800,"height":600,"caption":"docker-build-cache-2"},{"@type":"BreadcrumbList","@id":"https:\/\/dockerpros.com\/wiki\/docker-build-cache\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dockerpros.com\/"},{"@type":"ListItem","position":2,"name":"Glossary","item":"https:\/\/dockerpros.com\/fr\/wiki\/"},{"@type":"ListItem","position":3,"name":"Docker Build Cache"}]},{"@type":"WebSite","@id":"https:\/\/dockerpros.com\/#website","url":"https:\/\/dockerpros.com\/","name":"Esperti Docker","description":"DockerPros \u2013 Il tuo punto di riferimento definitivo per Docker","publisher":{"@id":"https:\/\/dockerpros.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dockerpros.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/dockerpros.com\/#organization","name":"Esperti Docker","url":"https:\/\/dockerpros.com\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/","url":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png","contentUrl":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png","width":532,"height":114,"caption":"Dockerpros"},"image":{"@id":"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/dockerpros.com\/it\/wp-json\/wp\/v2\/glossary\/1244","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dockerpros.com\/it\/wp-json\/wp\/v2\/glossary"}],"about":[{"href":"https:\/\/dockerpros.com\/it\/wp-json\/wp\/v2\/types\/glossary"}],"author":[{"embeddable":true,"href":"https:\/\/dockerpros.com\/it\/wp-json\/wp\/v2\/users\/1"}],"version-history":[{"count":0,"href":"https:\/\/dockerpros.com\/it\/wp-json\/wp\/v2\/glossary\/1244\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dockerpros.com\/it\/wp-json\/wp\/v2\/media\/1805"}],"wp:attachment":[{"href":"https:\/\/dockerpros.com\/it\/wp-json\/wp\/v2\/media?parent=1244"}],"wp:term":[{"taxonomy":"glossary-cat","embeddable":true,"href":"https:\/\/dockerpros.com\/it\/wp-json\/wp\/v2\/glossary-cat?post=1244"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}