{"id":1750,"date":"2026-07-31T03:00:31","date_gmt":"2026-07-31T03:00:31","guid":{"rendered":"https:\/\/convly.ai\/?p=1750"},"modified":"2026-08-01T06:45:53","modified_gmt":"2026-08-01T06:45:53","slug":"ollama-docker","status":"publish","type":"post","link":"https:\/\/convly.ai\/it\/ollama-docker\/","title":{"rendered":"Guida a Ollama con Docker (2026): eseguire Ollama in un contenitore con supporto GPU"},"content":{"rendered":"<p>In esecuzione <strong>Ollama in Docker<\/strong> \u00e8 il metodo pi\u00f9 pulito per mantenere riproducibile un server locale di modelli: lo stesso comando funziona su un laptop, su un server domestico e su un server GPU noleggiato, senza che nulla venga installato o modificato sul sistema host. La configurazione \u00e8 semplice, ma due dettagli \u2014 il passaggio della GPU al contenitore e la persistenza dei volumi \u2014 sono spesso causa di spreco di tempo.<\/p>\n<div style=\"background:#faf9ff;border:1px solid #e6e1f5;border-left:4px solid #6d28d9;border-radius:10px;padding:18px 22px;margin:28px 0;\">\n<p style=\"margin:0 0 10px;font-weight:700;color:#4c1d95;font-size:14px;letter-spacing:.5px;text-transform:uppercase;\">Quick answer<\/p>\n<p style=\"margin:0;\">Scarica ed esegui l\u2019immagine ufficiale con un volume denominato, in modo che i modelli sopravvivano ai riavvii: <code>docker run -d -v ollama:\/root\/.ollama -p 11434:11434 --name ollama ollama\/ollama<\/code>. Per una GPU NVIDIA, installa il NVIDIA Container Toolkit sull\u2019host, riavvia Docker e aggiungi <code>--gpus=all<\/code>. Quindi scarica i modelli all\u2019interno del contenitore con <code>docker exec -it ollama ollama pull llama3.1<\/code>. L\u2019API \u00e8 disponibile sulla porta 11434 esattamente come nell\u2019installazione nativa.<\/p>\n<\/div>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-flat ez-toc-counter ez-toc-container-direction\">\n<label for=\"ez-toc-cssicon-toggle-item-6a705a0ba70f3\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Attiva\/Disattiva<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #000000;color:#000000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #000000;color:#000000\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewbox=\"0 0 24 24\" version=\"1.2\" baseprofile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6a705a0ba70f3\"  aria-label=\"Attiva\/Disattiva\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1' ><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/convly.ai\/it\/ollama-docker\/#The_three_commands_that_matter\" >I tre comandi fondamentali<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/convly.ai\/it\/ollama-docker\/#GPU_passthrough_the_part_that_fails\" >Passaggio della GPU: la parte che pi\u00f9 spesso fallisce<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/convly.ai\/it\/ollama-docker\/#Keep_your_models_between_restarts\" >Conservare i modelli tra un riavvio e l\u2019altro<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/convly.ai\/it\/ollama-docker\/#docker_compose_for_a_setup_you_keep\" >docker compose, per una configurazione che puoi conservare<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/convly.ai\/it\/ollama-docker\/#Frequently_asked_questions\" >Domande frequenti<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"The_three_commands_that_matter\"><\/span>I tre comandi fondamentali<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<div style=\"background:#faf9ff;border:1px solid #e6e1f5;border-radius:10px;padding:18px 22px;margin:28px 0;overflow-x:auto;\">\n<table style=\"width:100%;border-collapse:collapse;font-size:15px;\">\n<tr>\n<th style=\"text-align:left;padding:8px 10px;border-bottom:2px solid #e6e1f5;color:#4c1d95;\">Obiettivo<\/th>\n<th style=\"text-align:left;padding:8px 10px;border-bottom:2px solid #e6e1f5;color:#4c1d95;\">Comando<\/th>\n<\/tr>\n<tr>\n<td style=\"padding:8px 10px;border-bottom:1px solid #efecf8;\">Solo CPU<\/td>\n<td style=\"padding:8px 10px;border-bottom:1px solid #efecf8;\"><code>docker run -d -v ollama:\/root\/.ollama -p 11434:11434 --name ollama ollama\/ollama<\/code><\/td>\n<\/tr>\n<tr>\n<td style=\"padding:8px 10px;border-bottom:1px solid #efecf8;\">Con GPU NVIDIA<\/td>\n<td style=\"padding:8px 10px;border-bottom:1px solid #efecf8;\"><code>docker run -d --gpus=all -v ollama:\/root\/.ollama -p 11434:11434 --name ollama ollama\/ollama<\/code><\/td>\n<\/tr>\n<tr>\n<td style=\"padding:8px 10px;border-bottom:1px solid #efecf8;\">Scaricare un modello<\/td>\n<td style=\"padding:8px 10px;border-bottom:1px solid #efecf8;\"><code>docker exec -it ollama ollama pull llama3.1<\/code><\/td>\n<\/tr>\n<\/table>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"GPU_passthrough_the_part_that_fails\"><\/span>Passaggio della GPU: la parte che pi\u00f9 spesso fallisce<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Un contenitore non pu\u00f2 accedere alla tua GPU per impostazione predefinita. Su Linux devi installare il <strong>NVIDIA Container Toolkit<\/strong> sull\u2019host, riavviare Docker e aggiungere <code>--gpus=all<\/code>. Verifica che funzioni correttamente dal contenitore eseguendo <code>docker exec -it ollama nvidia-smi<\/code> \u2014 se questo comando fallisce, Ollama verr\u00e0 eseguito comunque, ma in modo silenzioso sulla CPU; potresti quindi concludere erroneamente che la tua GPU sia lenta, mentre in realt\u00e0 non viene affatto utilizzata. Su Windows, la soluzione consiste nell\u2019usare Docker Desktop con backend WSL2 e driver NVIDIA aggiornati. Gli utenti AMD devono usare l\u2019immagine contrassegnata ROCm anzich\u00e9 quella predefinita, mentre le GPU Apple Silicon non possono essere passate a Docker in alcun modo: su Mac, esegui Ollama in modalit\u00e0 nativa.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Keep_your_models_between_restarts\"><\/span>Conservare i modelli tra un riavvio e l\u2019altro<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>I file dei modelli sono molto grandi e richiedono tempo per essere scaricati nuovamente; un contenitore senza volume li elimina immediatamente al momento della rimozione. Il flag <code>-v ollama:\/root\/.ollama<\/code> usato in tutti i comandi sopra crea un volume denominato che persiste attraverso riavvii, aggiornamenti e modifiche dell\u2019immagine. Se preferisci memorizzare i file in una posizione visibile, usa invece un bind-mount su una directory dell\u2019host: <code>-v \/srv\/ollama:\/root\/.ollama<\/code>.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"docker_compose_for_a_setup_you_keep\"><\/span>docker compose, per una configurazione che puoi conservare<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Per qualsiasi configurazione permanente, un file docker-compose \u00e8 preferibile rispetto a un lungo comando docker run: registra in un unico posto la riserva della GPU, il volume e la porta, riavvia automaticamente il servizio e consente in seguito di aggiungere facilmente un\u2019interfaccia web. Il contenitore espone lo stesso endpoint compatibile con OpenAI su <code>http:\/\/localhost:11434<\/code>, quindi le applicazioni non riescono a distinguere tra installazione containerizzata e installazione nativa.<\/p>\n<div style=\"background:#fffdf5;border:1px solid #f0e6c8;border-left:4px solid #b45309;border-radius:10px;padding:18px 22px;margin:28px 0;\">\n<p style=\"margin:0 0 10px;font-weight:700;color:#92400e;font-size:14px;letter-spacing:.5px;text-transform:uppercase;\">Convly&#8217;s take<\/p>\n<p style=\"margin:0;\">Containerizza Ollama quando la macchina \u00e8 un server, ma evita Docker se si tratta del tuo laptop. Su un server domestico o su un server GPU noleggiato, la configurazione basata su volume e docker-compose \u00e8 effettivamente superiore: riproducibile, aggiornabile e facile da trasferire. Su un computer personale \u2014 specialmente su Mac, dove il passaggio della GPU a Docker \u00e8 impossibile \u2014 Docker introduce un livello aggiuntivo che riduce le prestazioni senza offrire vantaggi significativi. Il problema pi\u00f9 comune causato dall\u2019utente \u00e8 un contenitore che esegue silenziosamente la CPU perch\u00e9 il toolkit non \u00e8 mai stato installato; esegui nvidia-smi all\u2019interno del contenitore prima di effettuare qualsiasi benchmark.<\/p>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"Frequently_asked_questions\"><\/span>Domande frequenti<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3>Ollama in Docker supporta le GPU?<\/h3>\n<p>S\u00ec, con NVIDIA tramite il NVIDIA Container Toolkit e <code>--gpus=all<\/code>, e con AMD usando l\u2019immagine ROCm. Le GPU Apple Silicon non possono essere esposte a Docker: esegui Ollama in modalit\u00e0 nativa su macOS.<\/p>\n<h3>Dove vengono memorizzati i modelli nella configurazione Docker?<\/h3>\n<p>All\u2019interno del contenitore, nella cartella <code>\/root\/.ollama<\/code>. Mappa tale percorso a un volume denominato o a una directory dell\u2019host, altrimenti i modelli verranno eliminati al momento della rimozione del contenitore.<\/p>\n<h3>Ollama \u00e8 pi\u00f9 lento in Docker?<\/h3>\n<p>In modo trascurabile su Linux con un corretto passaggio della GPU. La sensazione di lentezza \u00e8 quasi sempre dovuta al fatto che il contenitore sta girando sulla CPU perch\u00e9 la GPU non \u00e8 stata passata correttamente.<\/p>\n<h3>Posso eseguire pi\u00f9 modelli nello stesso contenitore?<\/h3>\n<p>S\u00ec \u2014 puoi scaricarne quanti ne desideri; Ollama li carica su richiesta. Il limite \u00e8 la memoria: solo i modelli attivamente caricati consumano RAM o VRAM.<\/p>\n<p>Nuovo a questo strumento? Inizia dalla <a href='\/it\/how-to-install-ollama-2026\/'>Guida all'installazione di Ollama<\/a>, verifica i requisiti hardware in <a href='\/it\/ollama-system-requirements-2026\/'>requisiti di sistema per Ollama<\/a>, oppure ridimensionare un modello con il <a href='\/it\/llm-vram-calculator\/'>Calcolatore VRAM<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>Running Ollama in Docker keeps models and dependencies contained and makes the setup portable between machines. Here is the working configuration \u2014 including GPU passthrough and persistent storage.<\/p>","protected":false},"author":1,"featured_media":1785,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[5],"tags":[1048,756,256,259,1047],"class_list":["post-1750","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-tools","tag-docker","tag-gpu","tag-local-llm","tag-ollama","tag-self-hosting"],"_links":{"self":[{"href":"https:\/\/convly.ai\/it\/wp-json\/wp\/v2\/posts\/1750","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/convly.ai\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/convly.ai\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/convly.ai\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/convly.ai\/it\/wp-json\/wp\/v2\/comments?post=1750"}],"version-history":[{"count":2,"href":"https:\/\/convly.ai\/it\/wp-json\/wp\/v2\/posts\/1750\/revisions"}],"predecessor-version":[{"id":1860,"href":"https:\/\/convly.ai\/it\/wp-json\/wp\/v2\/posts\/1750\/revisions\/1860"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/convly.ai\/it\/wp-json\/wp\/v2\/media\/1785"}],"wp:attachment":[{"href":"https:\/\/convly.ai\/it\/wp-json\/wp\/v2\/media?parent=1750"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/convly.ai\/it\/wp-json\/wp\/v2\/categories?post=1750"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/convly.ai\/it\/wp-json\/wp\/v2\/tags?post=1750"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}