{"id":7603,"date":"2026-01-30T08:01:28","date_gmt":"2026-01-30T08:01:28","guid":{"rendered":"\/it\/tutorial\/?p=7603"},"modified":"2026-01-30T08:01:29","modified_gmt":"2026-01-30T08:01:29","slug":"come-installare-docker-ubuntu","status":"publish","type":"post","link":"\/it\/tutorial\/come-installare-docker-ubuntu","title":{"rendered":"Come installare Docker su Ubuntu (installazione manuale e template VPS)"},"content":{"rendered":"<p>Installare Docker su Ubuntu ti permette di usare i container per creare, testare e distribuire applicazioni in un ambiente pulito, coerente e facilmente riproducibile.<\/p><p>Per installare Docker su Ubuntu, assicurati che il tuo sistema utilizzi una versione supportata, come Ubuntu <strong>22.04<\/strong> LTS o Ubuntu <strong>24.04<\/strong> LTS. Poi segui i passaggi dell&rsquo;installazione manuale per configurare i pacchetti necessari, aggiungere la chiave GPG ufficiale di Docker e installare Docker Engine.<\/p><p>Se sei un cliente Hostinger, puoi installare Docker sul tuo VPS Ubuntu in pochi click usando il template VPS preconfigurato, senza dover eseguire manualmente i comandi di installazione.<\/p><p>Continua a leggere per scoprire entrambi i metodi, trovare consigli utili per configurare Docker dopo l&rsquo;installazione e imparare a risolvere i problemi di configurazione pi&ugrave; comuni.<\/p><h2 class=\"wp-block-heading\" id=\"h-cosa-ti-serve-per-installare-docker-su-ubuntu\">Cosa ti serve per installare Docker su Ubuntu<\/h2><p>Prima di installare Docker su Ubuntu, assicurati di soddisfare i seguenti requisiti:<\/p><ul class=\"wp-block-list\">\n<li>Familiarit&agrave; con le basi di <a href=\"\/it\/tutorial\/cos-e-docker\">Docker<\/a>, utile per capire cosa stai configurando e perch&eacute; ogni passaggio &egrave; importante.<\/li>\n\n\n\n<li>Conoscenza di base dei <a href=\"\/it\/tutorial\/comandi-linux\">comandi Linux<\/a>, soprattutto se segui l&rsquo;installazione manuale, dato che dovrai eseguire diversi comandi nel terminale.<\/li>\n\n\n\n<li>Una versione supportata di Ubuntu, come Ubuntu <strong>22.04<\/strong> LTS o Ubuntu <strong>24.04<\/strong> LTS. Controlla sempre la <a href=\"https:\/\/docs.docker.com\/engine\/install\/ubuntu\" target=\"_blank\" rel=\"noopener\">documentazione ufficiale di Docker<\/a> per gli ultimi dettagli sulla compatibilit&agrave;.<\/li>\n\n\n\n<li>Un sistema con almeno <strong>512 MB<\/strong> di RAM. Per prestazioni pi&ugrave; fluide e un utilizzo reale, &egrave; consigliabile installare Docker su un sistema con almeno <strong>2 GB<\/strong> di RAM.<\/li>\n<\/ul><h2 class=\"wp-block-heading\" id=\"h-come-installare-docker-manualmente\">Come installare Docker manualmente<\/h2><p>Se preferisci un approccio pratico, questa sezione ti guida passo dopo passo nell&rsquo;installazione manuale di Docker su una distribuzione Ubuntu <strong>24.04<\/strong>. Gli stessi passaggi valgono anche per altre versioni supportate di Ubuntu, come Ubuntu <strong>22.04<\/strong>.<\/p><h3 class=\"wp-block-heading\">1. Installa tutti i pacchetti necessari<\/h3><p>Per iniziare a installare Docker, verifica che il tuo sistema sia aggiornato e che disponga di tutti i pacchetti richiesti.<\/p><ol class=\"wp-block-list\">\n<li>Apri il terminale e collegati al tuo VPS tramite SSH. Sostituisci <strong>username<\/strong> e <strong>your_server_ip<\/strong> con le tue credenziali:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ssh username@your_server_ip<\/pre><ol start=\"2\" class=\"wp-block-list\">\n<li>Aggiorna l&rsquo;elenco dei pacchetti per assicurarti che il server utilizzi le versioni pi&ugrave; recenti dei pacchetti e delle relative dipendenze:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo apt update &amp;&amp; sudo apt upgrade -y<\/pre><ol start=\"3\" class=\"wp-block-list\">\n<li>Installa i pacchetti necessari per consentire ad <strong>apt<\/strong> di usare i repository tramite HTTPS:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo apt install apt-transport-https ca-certificates curl software-properties-common -y<\/pre><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"69fcce031d0eb\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"569\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/terminale-installazione-dipendenze.png\/public\" alt=\"Un output del terminale mostra il processo di installazione dei pacchetti e delle dipendenze necessarie\" class=\"wp-image-7419\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/terminale-installazione-dipendenze.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/terminale-installazione-dipendenze.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/terminale-installazione-dipendenze.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><h3 class=\"wp-block-heading\">2. Aggiungi la chiave GPG ufficiale di Docker<\/h3><p>Per garantire l&rsquo;autenticit&agrave; e la sicurezza dei pacchetti Docker, devi aggiungere la chiave GPG ufficiale di Docker e configurare il repository dedicato.<\/p><ol class=\"wp-block-list\">\n<li>Esegui questo comando curl per aggiungere la chiave GPG di Docker:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">curl -fsSL https:\/\/download.docker.com\/linux\/ubuntu\/gpg | sudo gpg --dearmor -o \/usr\/share\/keyrings\/docker-archive-keyring.gpg<\/pre><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"69fcce031dcf6\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"292\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/terminale-curl-docker.png\/public\" alt=\"L'output del terminale mostra il processo di download della chiave GPG di Docker utilizzando curl\" class=\"wp-image-7423\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/terminale-curl-docker.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/terminale-curl-docker.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/terminale-curl-docker.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"2\" class=\"wp-block-list\">\n<li>Aggiungi il repository ufficiale di Docker alle sorgenti APT:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">echo \"deb [arch=amd64 signed-by=\/usr\/share\/keyrings\/docker-archive-keyring.gpg] https:\/\/download.docker.com\/linux\/ubuntu $(lsb_release -cs) stable\" | sudo tee \/etc\/apt\/sources.list.d\/docker.list &gt; \/dev\/null<\/pre><ol start=\"3\" class=\"wp-block-list\">\n<li>Aggiorna l&rsquo;elenco dei pacchetti per includere quelli disponibili nel nuovo repository:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo apt update<\/pre><h3 class=\"wp-block-heading\">3. Installa Docker Engine<\/h3><p>Ora che i repository necessari sono configurati, puoi procedere con l&rsquo;installazione di Docker Engine.<\/p><ol class=\"wp-block-list\">\n<li>Assicurati che Docker venga installato dal repository ufficiale e non da quello predefinito di Ubuntu:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">apt-cache policy docker-ce<\/pre><ol start=\"2\" class=\"wp-block-list\">\n<li>Vedrai un output che indica chiaramente che Docker verr&agrave; installato dal repository corretto.<\/li>\n<\/ol><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"69fcce031e8f3\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"647\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/terminale-docker-ce.png\/public\" alt=\"L'output del terminale mostra che l'ultima versione di Docker sar&agrave; installata dal suo repository ufficiale\" class=\"wp-image-7424\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/terminale-docker-ce.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/terminale-docker-ce.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/terminale-docker-ce.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"3\" class=\"wp-block-list\">\n<li>Esegui quindi questo comando per installare Docker Engine, Docker Community Edition e il runtime <strong>containerd<\/strong>, tutti necessari per eseguire i container Docker:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo apt install docker-ce docker-ce-cli containerd.io -y<\/pre><ol start=\"4\" class=\"wp-block-list\">\n<li>Infine, verifica che Docker si avvii automaticamente all&rsquo;avvio del sistema:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo systemctl enable docker<\/pre><h3 class=\"wp-block-heading\">4. Controlla che Docker sia installato correttamente<\/h3><p>Dopo aver installato Docker, verifica che l&rsquo;installazione sia andata a buon fine e che il servizio funzioni correttamente.<\/p><ol class=\"wp-block-list\">\n<li>Controlla la versione di Docker installata sul sistema:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker --version<\/pre><ol start=\"2\" class=\"wp-block-list\">\n<li>Ecco l&rsquo;output che dovresti vedere:<\/li>\n<\/ol><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"69fcce031f3e1\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full is-resized wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"120\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/versione-del-terminale-docker.png\/public\" alt=\"L'output del terminale mostra la versione di Docker installata\" class=\"wp-image-7425\" style=\"width:665px;height:auto\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/versione-del-terminale-docker.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/versione-del-terminale-docker.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/versione-del-terminale-docker.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"3\" class=\"wp-block-list\">\n<li>Usa questo comando per verificare lo stato del servizio Docker:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo systemctl status docker<\/pre><ol start=\"4\" class=\"wp-block-list\">\n<li>Dovresti vedere un output che indica chiaramente che Docker &egrave; attivo e in esecuzione.<\/li>\n<\/ol><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"553\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/terminal-systemctl-docker-active-running-highlighted.png\/public\" alt=\"L'output del terminale mostra che il servizio Docker &egrave; attualmente attivo e in esecuzione\" class=\"wp-image-7426\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/terminal-systemctl-docker-active-running-highlighted.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/terminal-systemctl-docker-active-running-highlighted.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/terminal-systemctl-docker-active-running-highlighted.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><ol start=\"5\" class=\"wp-block-list\">\n<li>Premi <strong>Q<\/strong> sulla tastiera per uscire da questa schermata di stato.<\/li>\n<\/ol><h3 class=\"wp-block-heading\">5. Esegui Docker senza sudo (facoltativo)<\/h3><p>Per impostazione predefinita, Docker consente di eseguire i suoi comandi solo come utente root o utilizzando sudo. Questo pu&ograve; risultare scomodo e, in alcuni casi, anche meno sicuro. Se provi a eseguire un comando Docker come utente non root, vedrai un errore simile a questo:<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"69fcce032093f\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"90\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/terminale-docker-permesso-negato.png\/public\" alt=\"L'output del terminale mostra che l'utente non-root ha ricevuto un errore di autorizzazione negata durante l'esecuzione di un comando Docker\" class=\"wp-image-7427\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/terminale-docker-permesso-negato.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/terminale-docker-permesso-negato.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/terminale-docker-permesso-negato.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p>Tuttavia, eseguire Docker senza <strong>sudo<\/strong> &egrave; preferibile perch&eacute; velocizza il flusso di lavoro e migliora l&rsquo;esperienza d&rsquo;uso. Per questo motivo, ti consigliamo di creare un utente dedicato per usare Docker senza privilegi elevati.<\/p><ol class=\"wp-block-list\">\n<li>Aggiungi un nuovo utente se non ne hai gi&agrave; uno. In questo esempio lo chiamiamo <strong>new_user<\/strong>:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo adduser new_user<\/pre><ol start=\"2\" class=\"wp-block-list\">\n<li>Ti verr&agrave; richiesto di impostare una password per il nuovo utente.<\/li>\n\n\n\n<li>Crea il gruppo <strong>docker<\/strong> con questo comando:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo groupadd docker<\/pre><ol start=\"4\" class=\"wp-block-list\">\n<li>Aggiungi <strong>new_user<\/strong> al gruppo <strong>docker<\/strong>:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo usermod -aG docker new_user<\/pre><ol start=\"5\" class=\"wp-block-list\">\n<li>Passa all&rsquo;utente appena creato:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">su - new_user<\/pre><ol start=\"6\" class=\"wp-block-list\">\n<li>Verifica che l&rsquo;utente faccia parte del gruppo <strong>docker<\/strong>:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">groups<\/pre><ol start=\"7\" class=\"wp-block-list\">\n<li>Ecco l&rsquo;output che dovresti vedere:<\/li>\n<\/ol><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"69fcce03214d0\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full is-resized wp-lightbox-container\"><img decoding=\"async\" width=\"818\" height=\"130\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/gruppi-di-utenti-del-terminale.png\/public\" alt=\"L'output del terminale mostra i gruppi di utenti esistenti\" class=\"wp-image-7428\" style=\"width:598px;height:auto\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/gruppi-di-utenti-del-terminale.png\/w=818,fit=scale-down 818w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/gruppi-di-utenti-del-terminale.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/gruppi-di-utenti-del-terminale.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 818px) 100vw, 818px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"8\" class=\"wp-block-list\">\n<li>Esegui ora un semplice comando Docker per verificare che puoi usare Docker senza <strong>sudo<\/strong>:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker run hello-world<\/pre><ol start=\"9\" class=\"wp-block-list\">\n<li>Dovresti visualizzare un output che conferma che Docker funziona correttamente anche come utente non root.<\/li>\n<\/ol><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"628\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/terminale-docker-eseguito.png\/public\" alt=\"L'output del terminale mostra che un utente non root pu&ograve; eseguire un semplice comando Docker\" class=\"wp-image-7429\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/terminale-docker-eseguito.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/terminale-docker-eseguito.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/terminale-docker-eseguito.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><p>Congratulazioni! Hai installato Docker manualmente su un VPS Ubuntu utilizzando la riga di comando.<\/p><h2 class=\"wp-block-heading\" id=\"h-come-installare-docker-su-ubuntu-usando-il-template-vps-di-hostinger\">Come installare Docker su Ubuntu usando il template VPS di Hostinger<\/h2><p>Utilizzare il template VPS preconfigurato di Hostinger &egrave; il modo pi&ugrave; semplice per installare Docker sul tuo VPS Ubuntu. Se scegli il <a href=\"\/it\/docker-hosting\">piano di hosting VPS Docker<\/a>, il template viene selezionato automaticamente, cos&igrave; puoi iniziare subito a distribuire applicazioni containerizzate.<\/p><p>Se invece utilizzi un piano di VPS hosting standard, nessun problema: puoi comunque installare Docker in pochi Click selezionando manualmente il template. Ecco come fare:<\/p><ol class=\"wp-block-list\">\n<li>Accedi a hPanel e vai su <strong>VPS<\/strong> &rarr; <strong>Gestisci<\/strong> accanto al tuo server.<\/li>\n\n\n\n<li>Dalla dashboard del <strong>VPS<\/strong>, apri <strong>SO e pannello<\/strong> &rarr; <strong>Sistema operativo<\/strong> nella barra laterale sinistra.<\/li>\n\n\n\n<li>Individua la sezione <strong>Cambia SO<\/strong>, digita Docker nella barra di ricerca e seleziona il template <strong>Docker<\/strong>.<\/li>\n<\/ol><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"69fcce03222d3\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1007\" height=\"308\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/docker-hpanel.png\/public\" alt=\"Il modello Docker nel VPS di hPanel\" class=\"wp-image-7637\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/docker-hpanel.png\/w=1007,fit=scale-down 1007w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/docker-hpanel.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/docker-hpanel.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1007px) 100vw, 1007px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"4\" class=\"wp-block-list\">\n<li>Segui le istruzioni visualizzate sullo schermo e attendi il completamento del processo di installazione, che in genere richiede circa <strong>10 minuti<\/strong>.<\/li>\n<\/ol><p>Fatto! Hai installato Docker sul tuo VPS e ora sei pronto a distribuire le tue applicazioni.<\/p><figure class=\"wp-block-image size-large\"><a href=\"\/it\/vps\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"2048\" height=\"600\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2024\/02\/IT-VPS-hosting_in-text-banner.png\/public\" alt=\"\" class=\"wp-image-1333\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2024\/02\/IT-VPS-hosting_in-text-banner.png\/w=2048,fit=scale-down 2048w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2024\/02\/IT-VPS-hosting_in-text-banner.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2024\/02\/IT-VPS-hosting_in-text-banner.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2024\/02\/IT-VPS-hosting_in-text-banner.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2024\/02\/IT-VPS-hosting_in-text-banner.png\/w=1536,fit=scale-down 1536w\" sizes=\"(max-width: 2048px) 100vw, 2048px\" \/><\/a><\/figure><h2 class=\"wp-block-heading\" id=\"h-quali-sono-alcuni-consigli-per-la-configurazione-di-docker\">Quali sono alcuni consigli per la configurazione di Docker?<\/h2><p>Dopo aver installato Docker su Ubuntu, dedica un po&rsquo; di tempo a imparare i comandi principali e le configurazioni pi&ugrave; utili per sfruttarlo al meglio.<\/p><h3 class=\"wp-block-heading\">1. Impara i comandi di base di Docker<\/h3><p>Inizia familiarizzando con i comandi essenziali di Docker per lavorare con immagini e container. In questo modo potrai cercare, scaricare ed eseguire immagini gi&agrave; pronte come <strong>nginx<\/strong>, <strong>node<\/strong> o <strong>mysql<\/strong>, avviando rapidamente i servizi senza installare nulla manualmente sul sistema.<\/p><ul class=\"wp-block-list\">\n<li><strong>Elenca le immagini disponibili<\/strong>:<\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker images<\/pre><ul class=\"wp-block-list\">\n<li><strong>Cerca immagini su Docker Hub:<\/strong><\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker search nginx<\/pre><ul class=\"wp-block-list\">\n<li><strong>Scarica un&rsquo;immagine:<\/strong><\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker pull nginx<\/pre><h3 class=\"wp-block-heading\">2. Esegui e gestisci i container<\/h3><p>Una volta ottenuta un&rsquo;immagine, puoi avviare e gestire i container utilizzando i seguenti comandi. L&rsquo;esempio qui sotto esegue un server NGINX in un container sulla porta <strong>8080<\/strong>. &Egrave; ideale per testare siti web statici in locale o creare reverse proxy per le tue applicazioni.<\/p><ul class=\"wp-block-list\">\n<li><strong>Esegui un container:<\/strong><\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker run -d --name webserver -p 8080:80 nginx<\/pre><ul class=\"wp-block-list\">\n<li><strong>Avvia il tuo primo container:<\/strong><\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker start webserver<\/pre><ul class=\"wp-block-list\">\n<li><strong>Ferma un container in esecuzione:<\/strong><\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker stop webserver<\/pre><ul class=\"wp-block-list\">\n<li><strong>Elenca i container attualmente in esecuzione:<\/strong><\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker ps<\/pre><h3 class=\"wp-block-heading\">3. Crea e condividi le tue immagini<\/h3><p>Puoi creare immagini personalizzate utilizzando un Dockerfile e condividerle con altri utenti. Un caso d&rsquo;uso comune &egrave; impacchettare la tua applicazione Node.js, Python o Go in un&rsquo;immagine riutilizzabile, da distribuire in ambienti diversi o condividere con il tuo team.<\/p><ul class=\"wp-block-list\">\n<li><strong>Crea un&rsquo;immagine partendo dalla directory corrente:<\/strong><\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker build -t my-app .<\/pre><ul class=\"wp-block-list\">\n<li><strong>Aggiungi un tag all&rsquo;immagine:<\/strong><\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker tag my-app yourusername\/my-app:latest<\/pre><ul class=\"wp-block-list\">\n<li><strong>Invia l&rsquo;immagine a Docker Hub:<\/strong><\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker push yourusername\/my-app:latest<\/pre><h3 class=\"wp-block-heading\">4. Pulisci i componenti che non usi pi&ugrave;<\/h3><p>Elimina le risorse Docker che non ti servono pi&ugrave; per evitare di occupare spazio inutilmente sul disco. Questo ti aiuta a liberare risorse e a ridurre il disordine causato da test o build temporanee.<\/p><ul class=\"wp-block-list\">\n<li><strong>Rimuovi le immagini Docker inutilizzate:<\/strong><\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker image prune<\/pre><ul class=\"wp-block-list\">\n<li><strong>Elimina i container arrestati:<\/strong><\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker container prune<\/pre><ul class=\"wp-block-list\">\n<li><strong>Rimuovi volumi e reti non pi&ugrave; utilizzati:<\/strong><\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker volume prune\ndocker network prune<\/pre><h3 class=\"wp-block-heading\">5. Usa Docker Compose per le app multi-container<\/h3><p>Docker Compose ti consente di definire e gestire ambienti multi-servizio utilizzando un unico file <strong>docker-compose.yml<\/strong>.<\/p><ul class=\"wp-block-list\">\n<li><strong>Esempio<\/strong>: esegui rapidamente WordPress come container Docker per test in locale:<\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">version: '3.8'\n\n\nservices:\n  db:\n    image: mysql:5.7\n    restart: always\n    environment:\n      MYSQL_DATABASE: wordpress\n      MYSQL_USER: wp_user\n      MYSQL_PASSWORD: wp_pass\n      MYSQL_ROOT_PASSWORD: example\n    volumes:\n      - db_data:\/var\/lib\/mysql\n\n\n  web:\n    image: wordpress\n    restart: always\n    ports:\n      - \"8080:80\"\n    environment:\n      WORDPRESS_DB_HOST: db:3306\n      WORDPRESS_DB_NAME: wordpress\n      WORDPRESS_DB_USER: wp_user\n      WORDPRESS_DB_PASSWORD: wp_pass\n    depends_on:\n      - db\n\n\nvolumes:\n  db_data:<\/pre><ul class=\"wp-block-list\">\n<li><strong>Avvia tutti i servizi:<\/strong><\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker-compose up -d<\/pre><h3 class=\"wp-block-heading\">6. Crea ambienti di sviluppo isolati<\/h3><p>Usa Docker per evitare di appesantire il sistema con pi&ugrave; versioni di linguaggi o dipendenze diverse. Questo approccio &egrave; ideale per testare pacchetti, scrivere script o sviluppare applicazioni in un ambiente isolato, senza modificare la configurazione del sistema host.<\/p><ul class=\"wp-block-list\">\n<li><strong>Esempio<\/strong>: usa Docker per avviare un ambiente Node.js senza installare Node in locale:<\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker run -it --rm node:18 bash<\/pre><h3 class=\"wp-block-heading\">7. Automatizza build e test in CI\/CD<\/h3><p>Docker &egrave; ampiamente supportato da strumenti CI come GitHub Actions, GitLab CI\/CD e Jenkins. Puoi containerizzare la tua applicazione ed eseguirla in modo coerente negli ambienti di sviluppo, staging e produzione.<\/p><ul class=\"wp-block-list\">\n<li><strong>Esempio<\/strong>: utilizza un&rsquo;immagine Docker nella tua pipeline di GitHub Actions per automatizzare i test:<\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">jobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions\/checkout@v3\n      - run: docker build -t my-app .\n      - run: docker run my-app npm test<\/pre><h3 class=\"wp-block-heading\">8. Ospita server web o API in locale<\/h3><p>Puoi eseguire server web completi o API all&rsquo;interno di container Docker per testare le tue applicazioni senza distribuirle all&rsquo;esterno. Questo approccio &egrave; ideale per gli sviluppatori front-end che devono servire risorse statiche o testare domini locali senza configurare un server di sviluppo completo.<\/p><ul class=\"wp-block-list\">\n<li><strong>Esempio<\/strong>: esegui un server Apache di base in locale:<\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker run -d -p 8080:80 httpd<\/pre><h2 class=\"wp-block-heading\" id=\"h-risoluzione-dei-problemi-comuni-di-installazione-di-docker\">Risoluzione dei problemi comuni di installazione di Docker<\/h2><p>Installare Docker su Ubuntu &egrave; in genere semplice, ma in base alla configurazione del sistema, ai permessi utente o all&rsquo;ambiente in uso possono verificarsi alcuni errori. Di seguito trovi i problemi pi&ugrave; comuni, con soluzioni pratiche e comandi per risolverli rapidamente.<\/p><h3 class=\"wp-block-heading\">1. Il daemon Docker non &egrave; in esecuzione<\/h3><p>Un messaggio di errore come &ldquo;Cannot connect to the Docker daemon&rdquo; indica in genere che il servizio Docker non &egrave; attivo.<\/p><ul class=\"wp-block-list\">\n<li><strong>Avvia il servizio Docker:<\/strong><\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo systemctl start docker<\/pre><ul class=\"wp-block-list\">\n<li><strong>Abilitalo all&rsquo;avvio del sistema:<\/strong><\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo systemctl enable docker<\/pre><ul class=\"wp-block-list\">\n<li><strong>Controlla lo stato del daemon Docker:<\/strong><\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo systemctl status docker<\/pre><p>Se Docker continua a non avviarsi, verifica i log utilizzando journalctl:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">journalctl -u docker.service<\/pre><p>Cerca eventuali errori, come file di configurazione mancanti, conflitti di porte o problemi con il driver di archiviazione.<\/p><h3 class=\"wp-block-heading\">2. Impossibile connettersi al socket Docker<\/h3><p>Se visualizzi l&rsquo;errore &ldquo;Got permission denied while trying to connect to the Docker daemon socket&rdquo;, &egrave; probabile che si tratti di un problema di autorizzazioni utente.<\/p><ul class=\"wp-block-list\">\n<li><strong>Verifica se il tuo utente fa parte del gruppo docker:<\/strong><\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">groups<\/pre><ul class=\"wp-block-list\">\n<li><strong>Aggiungi il tuo utente al gruppo docker:<\/strong><\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo usermod -aG docker user<\/pre><p>Dopodich&eacute;, esci e accedi nuovamente con quell&rsquo;utente.<\/p><ul class=\"wp-block-list\">\n<li><strong>Riavvia il servizio Docker:<\/strong><\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo systemctl restart docker<\/pre><p>Se il problema persiste, potrebbe essere necessario intervenire sulle autorizzazioni di Docker.<\/p><h3 class=\"wp-block-heading\">3. Problemi con il repository e l&rsquo;installazione<\/h3><p>Se riscontri difficolt&agrave; nell&rsquo;aggiungere il repository APT di Docker o nell&rsquo;installare i pacchetti, le cause pi&ugrave; comuni possono essere:<\/p><ul class=\"wp-block-list\">\n<li>URL del repository non corretto<\/li>\n\n\n\n<li>Dipendenze mancanti<\/li>\n\n\n\n<li>Versione di Ubuntu non supportata<\/li>\n<\/ul><p>Assicurati di aver aggiunto il repository corretto eseguendo questi comandi:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">curl -fsSL https:\/\/download.docker.com\/linux\/ubuntu\/gpg | sudo gpg --dearmor -o \/etc\/apt\/keyrings\/docker.gpg<\/pre><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">echo \\\n  \"deb [arch=$(dpkg --print-architecture) signed-by=\/etc\/apt\/keyrings\/docker.gpg] \\\n  https:\/\/download.docker.com\/linux\/ubuntu $(lsb_release -cs) stable\" | \\\n  sudo tee \/etc\/apt\/sources.list.d\/docker.list &gt; \/dev\/null<\/pre><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo apt update<\/pre><p>Se <strong>apt update<\/strong> restituisce errori, controlla l&rsquo;output per individuare voci malformate o problemi relativi alla chiave GPG.<\/p><h3 class=\"wp-block-heading\">4. I container in esecuzione non rispondono<\/h3><p>Se un container si avvia ma non si comporta come previsto, prova i passaggi seguenti per individuare il problema.<\/p><ul class=\"wp-block-list\">\n<li><strong>Visualizza i log del container:<\/strong><\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker logs container_name<\/pre><ul class=\"wp-block-list\">\n<li><strong>Controlla lo stato di salute del container, se &egrave; stato definito un health check:<\/strong><\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker inspect --format='{{json .State.Health}}' container_name<\/pre><ul class=\"wp-block-list\">\n<li><strong>Riavvia il container:<\/strong><\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker restart container_name<\/pre><p>In alternativa, se utilizzi un VPS Hostinger, puoi chiedere all&rsquo;<strong>assistente AI Kodee<\/strong> di controllare i log del container. &Egrave; sufficiente scrivere, ad esempio: &ldquo;Puoi controllare i log del container [nome_container]?&rdquo;<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"69fcce03251f4\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"441\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/hpanel-vps-kodee-docker.png\/public\" alt=\"Kodee risponde a una domanda sui log Docker di un contenitore\" class=\"wp-image-7431\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/hpanel-vps-kodee-docker.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/hpanel-vps-kodee-docker.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2026\/01\/hpanel-vps-kodee-docker.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><h3 class=\"wp-block-heading\">5. Problemi con il firewall e la rete<\/h3><p>Docker utilizza diverse porte interne. Se sul sistema &egrave; attivo un firewall, come Uncomplicated Firewall (UFW), alcune di queste porte potrebbero essere bloccate.<\/p><ul class=\"wp-block-list\">\n<li><strong>Consenti il traffico Docker tramite UFW:<\/strong><\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo ufw allow 2375\/tcp\nsudo ufw allow 2376\/tcp\nsudo ufw allow 2377\/tcp\nsudo ufw allow 7946\/tcp\nsudo ufw allow 7946\/udp\nsudo ufw allow 4789\/udp<\/pre><ul class=\"wp-block-list\">\n<li><strong>Verifica se Docker riesce a risolvere correttamente il DNS:<\/strong><\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker run busybox nslookup google.com<\/pre><p>Se il comando non restituisce risultati, la rete del container potrebbe non essere configurata correttamente.<\/p><ul class=\"wp-block-list\">\n<li><strong>Ricrea la rete bridge predefinita:<\/strong><\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker network rm bridge\ndocker network create --driver bridge bridge<\/pre><p>\n\n\n<div class=\"protip\">\n                    <h4 class=\"title\">Gestione del firewall con Kodee<\/h4>\n                    <p>Puoi anche chiedere a <strong>Kodee<\/strong> di configurare nuove regole firewall sul tuo VPS. Ad esempio, digita: &ldquo;Imposta nuove regole firewall che aprono le porte 2375, 2376, 2377, 7946 TCP e 7946, 4789 UDP a qualsiasi indirizzo IP.&rdquo;<\/p>\n                <\/div>\n\n\n\n<\/p><h3 class=\"wp-block-heading\">6. Prestazioni lente di Docker<\/h3><p>Se Docker risulta lento, ad esempio durante il download delle immagini o nell&rsquo;esecuzione dei container, prova i seguenti passaggi per individuare la causa.<\/p><ul class=\"wp-block-list\">\n<li><strong>Controlla lo spazio disponibile su disco:<\/strong><\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">df -h<\/pre><ul class=\"wp-block-list\">\n<li><strong>Verifica l&rsquo;utilizzo delle risorse Docker:<\/strong><\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker system df<\/pre><ul class=\"wp-block-list\">\n<li><strong>Individua container o volumi che occupano molto spazio:<\/strong><\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker ps -s\ndocker volume ls<\/pre><p>Se nessuno dei passaggi precedenti risolve il problema, prova a rimuovere container, reti, immagini e cache di build inutilizzati per migliorare le prestazioni:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker system prune -a<\/pre><h3 class=\"wp-block-heading\">7. Errori di sicurezza o AppArmor<\/h3><p>In alcune configurazioni di Ubuntu, Docker potrebbe non riuscire ad avviare i container a causa di conflitti con moduli di sicurezza come AppArmor.<\/p><ul class=\"wp-block-list\">\n<li><strong>Controlla se sono presenti blocchi di AppArmor:<\/strong><\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">dmesg | grep apparmor<\/pre><ul class=\"wp-block-list\">\n<li><strong>Disattiva temporaneamente AppArmor per un container:<\/strong><\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker run --security-opt apparmor=unconfined your_image<\/pre><p>Tieni presente che disabilitare AppArmor non &egrave; consigliato in ambienti di produzione. Se scegli di farlo, assicurati di non disattivare involontariamente importanti funzionalit&agrave; di sicurezza del kernel.<\/p><p>Se questi errori continuano a verificarsi, verifica i log di sistema nel file <strong>\/var\/log\/syslog<\/strong>.<\/p><h2 class=\"wp-block-heading\" id=\"h-e-adesso\">E adesso?<\/h2><p>Installare Docker su Ubuntu ti offre la flessibilit&agrave; di distribuire, testare e rilasciare software con meno complicazioni, sia che tu stia eseguendo applicazioni in locale sia che tu stia gestendo carichi di lavoro in produzione.<\/p><p>Tuttavia, l&rsquo;installazione &egrave; solo il primo passo. Per sfruttare davvero Docker al massimo, esplora come i container possono integrarsi nel tuo flusso di lavoro a lungo termine:<\/p><ul class=\"wp-block-list\">\n<li>Scopri casi d&rsquo;uso reali di Docker, come l&rsquo;esecuzione di applicazioni web, database o pipeline CI, e prendi spunto per applicarli ai tuoi progetti.<\/li>\n\n\n\n<li>Usa docker exec per interagire con i container in esecuzione ed eseguire comandi direttamente per il debug, la configurazione o aggiornamenti in tempo reale, senza dover riavviare nulla.<\/li>\n\n\n\n<li>Gestisci i segreti Docker in modo sicuro, evitando password o token hardcoded e passando i dati sensibili in modo protetto durante la fase di build o di esecuzione.<\/li>\n\n\n\n<li>Configura Docker Swarm per l&rsquo;orchestrazione per scalare le tue applicazioni oltre il singolo container e gestire in modo efficiente un cluster multi-nodo con bilanciamento del carico integrato.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Installare Docker su Ubuntu ti permette di usare i container per creare, testare e distribuire applicazioni in un ambiente pulito, coerente e facilmente riproducibile. Per installare Docker su Ubuntu, assicurati che il tuo sistema utilizzi una versione supportata, come Ubuntu 22.04 LTS o Ubuntu 24.04 LTS. Poi segui i passaggi dell&rsquo;installazione manuale per configurare i [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/it\/tutorial\/come-installare-docker-ubuntu\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":190,"featured_media":7417,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"Come installare Docker su Ubuntu facilmente","rank_math_description":"Vuoi installare Docker su Ubuntu? Questa guida spiega il metodo manuale e l\u2019uso di un template VPS per iniziare subito.","rank_math_focus_keyword":"installare docker su ubuntu","footnotes":""},"categories":[17],"tags":[],"class_list":["post-7603","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-vps"],"hreflangs":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/posts\/7603","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/users\/190"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/comments?post=7603"}],"version-history":[{"count":16,"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/posts\/7603\/revisions"}],"predecessor-version":[{"id":7647,"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/posts\/7603\/revisions\/7647"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/media\/7417"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/media?parent=7603"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/categories?post=7603"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/tags?post=7603"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}