{"id":856,"date":"2021-06-24T09:04:00","date_gmt":"2021-06-24T07:04:00","guid":{"rendered":"https:\/\/brentasoft.com\/blog\/docker-container-pmi-guida-2021\/"},"modified":"2021-06-24T09:04:00","modified_gmt":"2021-06-24T07:04:00","slug":"docker-container-pmi-guida-2021","status":"publish","type":"post","link":"https:\/\/brentasoft.com\/blog\/docker-container-pmi-guida-2021\/","title":{"rendered":"Docker container per PMI: la guida 2021"},"content":{"rendered":"<p>Negli ultimi anni i <strong>docker container per PMI<\/strong> hanno smesso di essere un argomento riservato ai grandi colossi del web e si sono trasformati in una tecnologia accessibile, economica e adatta anche alle realta italiane di medie dimensioni. Se gestisci un&#8217;azienda o un reparto IT e senti parlare quotidianamente di Docker, Kubernetes, image registry e DevOps senza avere il quadro completo, questa guida 2021 ti aiutera a capire cosa sono i container, perche dovresti adottarli, quali errori evitare e quanto puoi risparmiare.<\/p>\n<p>L&#8217;obiettivo non e fornirti un tutorial tecnico passo-passo, ma una visione strategica: cosa significa <em>containerizzare<\/em> un&#8217;applicazione, quando ha senso passare da Docker a Kubernetes, come strutturare la tua infrastruttura per essere pronto al cloud-native senza sprecare budget. Faremo riferimento allo stato dell&#8217;arte di meta 2021, con un occhio alle scelte sostenibili nel medio periodo.<\/p>\n<h2>1. Container e Docker: il cambio di paradigma<\/h2>\n<p>Per oltre vent&#8217;anni il deploy di un&#8217;applicazione aziendale ha seguito uno schema rigido: server fisico, sistema operativo, runtime (Java, .NET, PHP, Node.js), librerie di sistema, applicazione. Ogni nuovo ambiente di sviluppo, test o produzione richiedeva replicare manualmente questa stratificazione, con il rischio del classico &#8220;<em>sul mio computer funziona<\/em>&#8220;. I container hanno chiuso definitivamente questa epoca.<\/p>\n<p>Docker, lanciato nel 2013 e diventato mainstream tra il 2017 e il 2018, ha popolarizzato l&#8217;idea di impacchettare un&#8217;applicazione assieme a tutte le sue dipendenze in una unita autonoma e portabile, eseguibile su qualsiasi host che disponga di un container runtime. Il risultato e un cambio di paradigma profondo: l&#8217;unita di deploy non e piu la macchina, ma il container. Per le PMI italiane questo significa <strong>tempi di rilascio piu rapidi, ambienti riproducibili, costi infrastrutturali inferiori<\/strong>.<\/p>\n<p>Nel 2021 stiamo vivendo la fase di consolidamento: Docker non e piu una novita, e una commodity. Tutti i principali cloud provider (AWS, Azure, Google Cloud) offrono servizi gestiti per container e Kubernetes; CI\/CD pipeline come GitLab, GitHub Actions e Jenkins integrano nativamente la build di immagini Docker; persino i gestionali on-premise iniziano a essere distribuiti in formato container. Per chi sviluppa software custom, ignorare questa rivoluzione significa perdere competitivita.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/brentasoft.com\/blog\/wp-content\/uploads\/2021\/06\/developer-docker-codice.jpg\" alt=\"Sviluppatore lavora a codice Docker su laptop con terminale\" class=\"aligncenter size-large\" \/><\/p>\n<h2>2. Cosa e un container (vs VM tradizionali)<\/h2>\n<p>La domanda piu frequente e: &#8220;<strong>containerizzazione cosa e<\/strong>, in cosa differisce da una macchina virtuale?&#8221;. La risposta breve: un container condivide il kernel del sistema operativo host, mentre una VM include un intero sistema operativo guest. Questo cambia tutto in termini di efficienza.<\/p>\n<p>Una VM tradizionale (VMware, Hyper-V, KVM) emula hardware completo: processore, memoria, dischi, rete. Sopra ci installi un sistema operativo (Linux o Windows) di centinaia di megabyte, poi il runtime, poi l&#8217;app. Avviare una VM richiede da decine di secondi a qualche minuto, e ognuna occupa risorse significative anche quando e idle.<\/p>\n<p>Un container, invece, e un processo isolato che usa funzionalita del kernel Linux (namespaces, cgroups, capabilities) per avere il proprio filesystem, la propria rete e la propria visione delle risorse, ma <strong>condivide il kernel con l&#8217;host<\/strong>. Si avvia in centinaia di millisecondi, occupa decine di megabyte invece di gigabyte, e permette di eseguire centinaia di container sullo stesso server dove avresti potuto avviare al massimo dieci VM.<\/p>\n<p>Per una PMI questo si traduce in due benefici concreti:<\/p>\n<ul>\n<li><strong>Densita di carico<\/strong>: lo stesso server ospita molte piu applicazioni;<\/li>\n<li><strong>Velocita di scalabilita<\/strong>: avviare un nuovo container in risposta a un picco di traffico richiede secondi, non minuti.<\/li>\n<\/ul>\n<p>Attenzione: container e VM non sono mutualmente esclusivi. Spesso si esegue Docker dentro una VM (e cosi che funzionano la maggior parte delle infrastrutture cloud). Ma il livello con cui sviluppatori e operations interagiscono e il container, non la VM sottostante.<\/p>\n<h2>3. Docker: l&#8217;architettura essenziale<\/h2>\n<p>Docker non e magia: e un insieme coordinato di componenti che lavorano insieme. Comprenderne l&#8217;architettura ti aiuta a prendere decisioni migliori su come strutturare la tua infrastruttura.<\/p>\n<p>Al cuore c&#8217;e il <strong>Docker daemon<\/strong> (<code>dockerd<\/code>), un servizio in background che gestisce immagini, container, network e volumi. Sopra il daemon si appoggia il <strong>container runtime<\/strong>: nel 2021 il default e <em>containerd<\/em>, che a sua volta delega a <em>runc<\/em> il compito di creare effettivamente il container interagendo con il kernel. Esistono runtime alternativi come CRI-O (favorito in ambito Kubernetes) e gVisor (sandbox piu isolata).<\/p>\n<p>L&#8217;utente interagisce con il daemon tramite la <strong>CLI <code>docker<\/code><\/strong> o tramite Docker Desktop (su Mac e Windows). Comandi come <code>docker build<\/code>, <code>docker run<\/code>, <code>docker push<\/code> sono in realta chiamate REST verso il daemon.<\/p>\n<p>Quando esegui <code>docker run nginx<\/code>, il daemon: scarica l&#8217;immagine da Docker Hub se non e gia in cache, crea un nuovo container basato su quella immagine, configura rete e filesystem, avvia il processo. Tutto questo in pochi secondi.<\/p>\n<p>Per le PMI questa architettura e importante perche significa che <strong>non c&#8217;e un singolo &#8220;server Docker&#8221;<\/strong>: ogni macchina su cui gira il daemon e autonoma. Su questo si innestano le soluzioni di orchestrazione (Docker Swarm, Kubernetes) per gestire flotte di nodi.<\/p>\n<h2>4. Image, container, volume, network: i 4 concetti chiave<\/h2>\n<p>Per parlare di Docker con cognizione di causa devi padroneggiare quattro concetti:<\/p>\n<h3>4.1 Image<\/h3>\n<p>Un&#8217;<strong>immagine<\/strong> e un template immutabile, composto da layer sovrapposti, che descrive il filesystem e i metadati di un container. Si costruisce a partire da un <code>Dockerfile<\/code>, un file di testo con istruzioni dichiarative (<code>FROM<\/code>, <code>RUN<\/code>, <code>COPY<\/code>, <code>ENTRYPOINT<\/code>). Le immagini sono identificate da un nome e un tag (<code>nginx:1.21-alpine<\/code>) e sono pubblicate su un registry.<\/p>\n<h3>4.2 Container<\/h3>\n<p>Un <strong>container<\/strong> e un&#8217;istanza in esecuzione di un&#8217;immagine. Si avvia con <code>docker run<\/code>, si ferma con <code>docker stop<\/code>, si rimuove con <code>docker rm<\/code>. Per design e effimero: tutto cio che scrive nel suo filesystem viene perso quando il container viene distrutto. Per persistere dati servono i volumi.<\/p>\n<h3>4.3 Volume<\/h3>\n<p>I <strong>volumi<\/strong> sono lo strumento Docker per persistere dati fuori dal ciclo di vita del container. Possono essere bind mount (cartelle dell&#8217;host montate dentro il container) o volumi gestiti (creati e gestiti da Docker stesso). Per database in produzione i volumi sono critici: senza di essi, riavviare il container significa perdere tutti i dati.<\/p>\n<h3>4.4 Network<\/h3>\n<p>Le <strong>reti<\/strong> Docker permettono ai container di comunicare tra loro e con l&#8217;esterno. Il driver di default (<code>bridge<\/code>) crea una rete privata su cui i container possono parlarsi via nome del servizio. Esistono driver per overlay multi-host, host networking, macvlan e altro. Comprendere il networking e essenziale per debug e per architetture multi-container.<\/p>\n<p>Su questi quattro mattoni si costruisce ogni architettura container, dalla piu semplice alla piu sofisticata. Se stai pianificando i tuoi <a href=\"https:\/\/brentasoft.com\/soluzioni\/gestionali-personalizzati.php\">gestionali personalizzati<\/a> in chiave moderna, padroneggiare questi concetti e il punto di partenza.<\/p>\n<h2>5. Docker Compose: orchestrazione locale<\/h2>\n<p>Le applicazioni reali non sono mai composte da un solo container. Un tipico stack web include un application server, un database, un reverse proxy, magari una cache Redis e un message broker. Avviare e coordinare questi container manualmente con <code>docker run<\/code> diventa rapidamente impraticabile.<\/p>\n<p><strong>Docker Compose<\/strong> risolve esattamente questo problema. Con un singolo file <code>docker-compose.yml<\/code> dichiari l&#8217;intero stack: servizi, immagini, variabili d&#8217;ambiente, volumi, network, dipendenze. Un comando, <code>docker compose up<\/code>, avvia tutto in ordine corretto. Un altro, <code>docker compose down<\/code>, lo ferma e pulisce.<\/p>\n<p>Per le PMI Compose e oro: copre il 90% dei casi d&#8217;uso senza la complessita di Kubernetes. Sviluppo locale, ambienti di staging, deploy su singolo server: tutti scenari dove Compose e piu che sufficiente. Solo quando le esigenze crescono (alta disponibilita multi-nodo, autoscaling, deploy zero-downtime in produzione complessa) ha senso fare il salto verso K8s.<\/p>\n<p>Un esempio tipico per una <a href=\"https:\/\/brentasoft.com\/soluzioni\/web-app-pwa.php\">web app e PWA<\/a>: un container Nginx come reverse proxy, un container Node.js per l&#8217;API, un container PostgreSQL per il database, un container Redis per le sessioni. Cinque servizi descritti in 30 righe di YAML, riproducibili in dieci secondi.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/brentasoft.com\/blog\/wp-content\/uploads\/2021\/06\/infrastruttura-container-cloud.jpg\" alt=\"Infrastruttura cloud datacenter con server e container\" class=\"aligncenter size-large\" \/><\/p>\n<h2>6. Docker vs Kubernetes: quando passare a K8s<\/h2>\n<p>&#8220;<strong>Kubernetes vs Docker<\/strong>&#8221; e una delle ricerche piu popolari del 2021, ma in realta e una falsa contrapposizione. Docker e un container runtime piu un toolset; Kubernetes e un orchestratore di container. Spesso vengono usati insieme: K8s pianifica i container, Docker (o containerd) li esegue.<\/p>\n<p>La domanda corretta e: <em>quando passare da Docker Compose \/ Docker Swarm a Kubernetes?<\/em> Ecco i criteri:<\/p>\n<ul>\n<li><strong>Hai bisogno di alta disponibilita multi-nodo<\/strong>? Se la tua app deve sopravvivere alla caduta di un server, K8s offre rescheduling automatico.<\/li>\n<li><strong>Devi scalare orizzontalmente in modo dinamico<\/strong>? K8s supporta autoscaling basato su CPU, memoria, metriche custom.<\/li>\n<li><strong>Gestisci decine o centinaia di servizi<\/strong>? Compose smette di scalare cognitivamente; K8s offre namespaces, RBAC, service discovery.<\/li>\n<li><strong>Stai deploy-ando su cloud manageato<\/strong>? AKS (Azure), EKS (AWS), GKE (Google) ti danno K8s gestito a costi accessibili.<\/li>\n<\/ul>\n<p>Se invece esegui due o tre app su un singolo server, hai un team piccolo e budget contenuto: <strong>resta su Docker Compose<\/strong>. Kubernetes ha una curva di apprendimento ripida, richiede competenze DevOps consolidate e introduce complessita operativa significativa. Adottarlo prematuramente e uno degli errori piu costosi che vedo nelle PMI italiane.<\/p>\n<p>Una via di mezzo interessante e <em>Docker Swarm<\/em>: orchestrazione integrata in Docker, sintassi simile a Compose, supporto multi-nodo basico. Sta perdendo terreno rispetto a K8s ma resta una scelta sensata per chi ha bisogno di &#8220;<em>un po&#8217; piu di Compose<\/em>&#8221; senza saltare nel deep-end di Kubernetes.<\/p>\n<h2>7. Casi d&#8217;uso pratici per PMI (web app, API, gestionali)<\/h2>\n<p>Vediamo quattro scenari concreti dove i container portano valore tangibile a una PMI italiana.<\/p>\n<h3>7.1 Web application B2C<\/h3>\n<p>Un e-commerce o un portale clienti beneficiano enormemente della containerizzazione. Sviluppo locale uniforme tra tutti i developer, deploy in staging con un comando, scaling rapido durante picchi stagionali (Black Friday, saldi, lanci prodotto). L&#8217;applicazione gira identica su laptop dello sviluppatore, server di staging e produzione.<\/p>\n<h3>7.2 API e microservizi<\/h3>\n<p>Se la tua infrastruttura espone API verso partner, mobile app, sistemi terzi, i container sono ideali. Ogni endpoint critico puo essere un servizio indipendente, scalabile autonomamente. La <a href=\"https:\/\/brentasoft.com\/soluzioni\/integrazione-api.php\">integrazione API<\/a> tra sistemi diventa piu robusta quando ogni servizio ha il proprio container con dipendenze versionate.<\/p>\n<h3>7.3 Gestionali e ERP cloud-native<\/h3>\n<p>I gestionali tradizionali on-premise stanno diventando container. Questo permette aggiornamenti senza downtime, multi-tenant su singola infrastruttura, hybrid cloud (parte on-premise, parte cloud). Per le PMI italiane significa ridurre drasticamente i costi di gestione del software gestionale.<\/p>\n<h3>7.4 Job batch e elaborazioni schedulate<\/h3>\n<p>Container effimeri sono perfetti per processi batch: import dati notturni, generazione report, sincronizzazioni. Si avviano, eseguono il loro lavoro, scompaiono. Niente macchine virtuali sempre accese a sprecare risorse.<\/p>\n<h2>8. Image registries: dove pubblicare le proprie immagini<\/h2>\n<p>Costruire un&#8217;immagine e solo meta del lavoro: bisogna pubblicarla in un <strong>registry<\/strong> da cui i server di produzione possano scaricarla. Le opzioni nel 2021 sono molte:<\/p>\n<ul>\n<li><strong>Docker Hub<\/strong>: il registry pubblico di default. Free per immagini pubbliche, a pagamento per private repository. Ideale per progetti open source e prototipazione.<\/li>\n<li><strong>AWS ECR<\/strong> (Elastic Container Registry): integrato con AWS, IAM-aware, ottimo se il tuo cloud e AWS.<\/li>\n<li><strong>Azure ACR<\/strong> (Azure Container Registry): equivalente Microsoft, integrazione nativa con AKS e Azure DevOps.<\/li>\n<li><strong>Google Container Registry \/ Artifact Registry<\/strong>: per chi sta su GCP.<\/li>\n<li><strong>GitLab Container Registry<\/strong>: integrato in GitLab self-hosted o cloud, ottimo per chi vuole tenere codice e immagini nello stesso ambiente.<\/li>\n<li><strong>Harbor<\/strong> e <strong>Nexus<\/strong>: registry self-hosted enterprise-grade, con vulnerability scanning integrato.<\/li>\n<\/ul>\n<p>Per la maggior parte delle PMI italiane il consiglio e: parti con Docker Hub o GitLab per il primo anno, poi valuta un registry cloud-managed allineato al provider che usi. Self-hosting di un registry on-premise ha senso solo se hai requisiti di compliance stringenti che vietano il cloud pubblico.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/brentasoft.com\/blog\/wp-content\/uploads\/2021\/06\/team-architettura-container.jpg\" alt=\"Team di developer riuniti davanti a una whiteboard discutendo architettura container\" class=\"aligncenter size-large\" \/><\/p>\n<h2>9. Sicurezza container (image scanning, segreti, runtime security)<\/h2>\n<p>I container non sono intrinsecamente sicuri: introducono nuove superfici di attacco che vanno presidiate. Tre aree critiche:<\/p>\n<h3>9.1 Image scanning<\/h3>\n<p>Ogni immagine puo contenere vulnerabilita ereditate dalle dipendenze. Tools come <em>Trivy<\/em>, <em>Clair<\/em>, <em>Snyk<\/em> e i scanner integrati nei registry cloud analizzano automaticamente le immagini cercando CVE note. Integrarli nella pipeline CI\/CD e oggi standard: una build fallisce se l&#8217;immagine ha vulnerabilita critiche non patchate.<\/p>\n<h3>9.2 Gestione segreti<\/h3>\n<p>Mai mettere password, API key o certificati dentro un&#8217;immagine. Usa variabili d&#8217;ambiente solo per dati non sensibili; per i segreti veri affidati a strumenti dedicati: Docker secrets (Swarm), Kubernetes secrets (con eventuale integrazione Vault), AWS Secrets Manager, Azure Key Vault. Il principio chiave: <strong>l&#8217;immagine deve essere agnostica all&#8217;ambiente, i segreti vengono iniettati a runtime<\/strong>.<\/p>\n<h3>9.3 Runtime security<\/h3>\n<p>Una volta in esecuzione, i container vanno monitorati. Tools come <em>Falco<\/em>, <em>Aqua Security<\/em>, <em>Sysdig Secure<\/em> osservano i syscall e segnalano comportamenti sospetti (modifica di file critici, processi inattesi, connessioni di rete anomale). Per workload sensibili e un investimento che ripaga.<\/p>\n<p>Aggiungi a questo il principio del <em>least privilege<\/em>: container non root quando possibile, capabilities Linux ridotte al minimo, filesystem read-only dove fattibile, network policy restrittive. La sicurezza container e un percorso, non un checkbox.<\/p>\n<h2>10. Costi e ROI per le PMI italiane<\/h2>\n<p>Quanto costa adottare i container e quale ritorno aspettarsi? Vediamo numeri realistici per una PMI italiana con un team di sviluppo di 5-15 persone.<\/p>\n<p><strong>Costi iniziali<\/strong>:<\/p>\n<ul>\n<li>Formazione del team: 2-5 giorni di training Docker base, 5-10 per Kubernetes (se applicabile). Costo: 3.000-15.000 euro tra corsi e tempo del personale.<\/li>\n<li>Refactoring delle applicazioni esistenti: dipende dalla complessita. Una web app moderna richiede 1-3 settimane per essere containerizzata; un legacy monolitico puo richiedere mesi.<\/li>\n<li>Tooling e infrastruttura: registry, CI\/CD pipeline, eventuale cluster K8s gestito. 100-1.000 euro\/mese a seconda della scala.<\/li>\n<\/ul>\n<p><strong>Risparmi e benefici<\/strong>:<\/p>\n<ul>\n<li>Riduzione tempi di deploy: da giorni a minuti. Per team che rilasciano spesso, questo si traduce in centinaia di ore\/anno risparmiate.<\/li>\n<li>Densita server superiore: stessi carichi su 30-50% meno hardware. Per chi ha infrastruttura on-premise, sconto in bolletta significativo.<\/li>\n<li>Riduzione bug &#8220;<em>sul mio computer funziona<\/em>&#8220;: ambienti riproducibili eliminano un&#8217;intera categoria di problemi.<\/li>\n<li>Onboarding nuovi sviluppatori: da giorni di setup a un singolo <code>docker compose up<\/code>.<\/li>\n<\/ul>\n<p>Il ROI tipico per una PMI con 8-10 sviluppatori e di 12-18 mesi. Dopo due anni la containerizzazione e tipicamente uno dei migliori investimenti tecnologici fatti. Naturalmente il ROI dipende dal grado di adozione: containerizzare il 100% delle applicazioni produce piu valore che farlo solo per il 30%.<\/p>\n<p>Se stai valutando di portare in <a href=\"https:\/\/brentasoft.com\/soluzioni\/software-cloud.php\">soluzioni cloud<\/a> i tuoi sistemi aziendali, partire direttamente con architettura container nativa ti evita un costoso refactoring futuro.<\/p>\n<h2>11. Errori comuni<\/h2>\n<p>Negli ultimi tre anni ho visto le PMI italiane ripetere gli stessi errori nella migrazione a container. Eccone sette da evitare:<\/p>\n<ol>\n<li><strong>Adottare Kubernetes troppo presto<\/strong>. Se hai 3 servizi su un solo server, K8s e overkill. Inizia con Docker Compose.<\/li>\n<li><strong>Trattare i container come VM<\/strong>. Container immutabili, idempotenti, effimeri: ogni cambiamento al runtime e un anti-pattern.<\/li>\n<li><strong>Immagini gigantesche<\/strong>. Un&#8217;immagine da 2 GB indica problemi di build. Usa immagini base alpine, multi-stage build, .dockerignore.<\/li>\n<li><strong>Mettere segreti dentro le immagini<\/strong>. Pubblicare un&#8217;immagine con credenziali e una breach in attesa di accadere.<\/li>\n<li><strong>Ignorare il logging strutturato<\/strong>. I container scrivono su stdout\/stderr; senza un sistema di log centralizzato (ELK, Loki, Datadog) il debug e un incubo.<\/li>\n<li><strong>Saltare la fase di staging<\/strong>. La promozione build-staging-prod resta fondamentale anche con i container.<\/li>\n<li><strong>Sottovalutare la rete<\/strong>. Networking container e materia complessa: dedicagli tempo di studio e progetta architetture chiare.<\/li>\n<\/ol>\n<p>Evitare questi errori non e questione di tool, ma di cultura tecnica. Investi in formazione e in figure DevOps interne o esterne con esperienza concreta su progetti containerizzati in produzione. Per un approccio strutturato, leggi anche la nostra guida <a href=\"\/blog\/devops-ci-cd-pmi-guida-2021\/\">DevOps e CI\/CD per PMI<\/a> e l&#8217;analisi su <a href=\"\/blog\/sviluppo-software-custom-pmi-quando-conviene\/\">quando conviene lo sviluppo software custom<\/a>.<\/p>\n<h2>12. Domande frequenti<\/h2>\n<h3>I container sono adatti anche a PMI con infrastruttura modesta?<\/h3>\n<p>Si, anzi. Le PMI con infrastruttura limitata beneficiano della densita superiore: stessi server, piu applicazioni. Bastano 1-2 macchine virtuali medie per containerizzare un intero stack aziendale.<\/p>\n<h3>Posso containerizzare un&#8217;applicazione legacy Windows?<\/h3>\n<p>Si, Docker supporta Windows container nativi. Tuttavia il refactoring per applicazioni legacy puo essere oneroso. Valuta caso per caso: per legacy stabili senza necessita di evoluzione, lasciare cosi com&#8217;e e spesso piu economico.<\/p>\n<h3>Quanto tempo serve per imparare Docker?<\/h3>\n<p>Un developer competente raggiunge produttivita di base in 1-2 settimane di pratica. Per padronanza avanzata (multi-stage build, networking complesso, troubleshooting) servono 3-6 mesi di esperienza concreta.<\/p>\n<h3>Docker Desktop e sempre gratuito?<\/h3>\n<p>Dal 2021 Docker Desktop e gratuito per uso personale, educational e per piccole imprese (sotto 250 dipendenti e 10 milioni di fatturato). Per realta piu grandi e richiesto un abbonamento. Per PMI italiane questo significa: tipicamente gratuito, ma verifica sempre la EULA aggiornata.<\/p>\n<h3>Devo passare a Kubernetes per essere &#8220;moderni&#8221;?<\/h3>\n<p>No. Kubernetes e potente ma complesso. Molte PMI ottengono valore enorme restando su Docker Compose o Swarm per anni. Il passaggio a K8s deve essere guidato da requisiti reali (scala, alta disponibilita, multi-team), non da hype.<\/p>\n<h3>Container e database: matrimonio difficile?<\/h3>\n<p>I database in container sono ormai prassi consolidata. Postgres, MySQL, MongoDB, Redis girano benissimo in container con volumi persistenti. Per produzione enterprise puoi anche valutare database-as-a-service cloud, ma containerizzare un database non e piu un tabu.<\/p>\n<h3>Come funziona il backup di un container?<\/h3>\n<p>Non esegui backup del container: e effimero. Esegui backup dei volumi (dati persistenti) e mantieni le immagini nel registry. Per ricreare un servizio: pull dell&#8217;immagine, mount del volume, restart. Il backup e dei dati, non del runtime.<\/p>\n<h3>Per saperne di piu sulla tecnologia<\/h3>\n<p>Per approfondimenti tecnici puoi consultare la <a href=\"https:\/\/it.wikipedia.org\/wiki\/Docker_(software)\" target=\"_blank\" rel=\"noopener\">voce Docker su Wikipedia<\/a> e la <a href=\"https:\/\/www.docker.com\/\" target=\"_blank\" rel=\"noopener\">documentazione ufficiale Docker<\/a>.<\/p>\n<div style=\"background:#f5f7fa;border-left:4px solid #0066cc;padding:20px;margin:30px 0;border-radius:4px;\">\n<h3 style=\"margin-top:0;\">Vuoi modernizzare l&#8217;infrastruttura della tua applicazione?<\/h3>\n<p>Brentasoft sviluppa applicazioni containerizzate (Docker, Kubernetes) per PMI italiane: gestionali, web app, ERP cloud-native con CI\/CD integrato.<\/p>\n<p style=\"margin-bottom:0;\"><a href=\"https:\/\/brentasoft.com\/erp-brenta.php\" style=\"display:inline-block;background:#0066cc;color:#fff;padding:12px 24px;border-radius:4px;text-decoration:none;font-weight:600;\">Scopri ERP Brenta &rarr;<\/a><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Docker container per PMI: guida 2021 completa su containerizzazione, Kubernetes vs Docker, image registry, sicurezza, costi e ROI per aziende italiane.<\/p>\n","protected":false},"author":2,"featured_media":857,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"Docker container per PMI: la guida 2021 | Brentasoft","_seopress_titles_desc":"Docker container per PMI: guida 2021 a containerizzazione, Kubernetes vs Docker, image registry, sicurezza e ROI per aziende italiane.","_seopress_robots_index":"","footnotes":""},"categories":[9],"tags":[536,451,297,538,537,298],"class_list":["post-856","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-guide-e-tutorial","tag-container","tag-devops","tag-docker","tag-docker-compose","tag-image-registry","tag-kubernetes"],"_links":{"self":[{"href":"https:\/\/brentasoft.com\/blog\/wp-json\/wp\/v2\/posts\/856","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/brentasoft.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/brentasoft.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/brentasoft.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/brentasoft.com\/blog\/wp-json\/wp\/v2\/comments?post=856"}],"version-history":[{"count":0,"href":"https:\/\/brentasoft.com\/blog\/wp-json\/wp\/v2\/posts\/856\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/brentasoft.com\/blog\/wp-json\/wp\/v2\/media\/857"}],"wp:attachment":[{"href":"https:\/\/brentasoft.com\/blog\/wp-json\/wp\/v2\/media?parent=856"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/brentasoft.com\/blog\/wp-json\/wp\/v2\/categories?post=856"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/brentasoft.com\/blog\/wp-json\/wp\/v2\/tags?post=856"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}