Guida alle tecnologie

Integrare Docker in Visual Studio Code

6 min read Dev Tools Aggiornato 16 Sep 2025
Docker in VS Code: guida rapida e pratica
Docker in VS Code: guida rapida e pratica

Integrazione di Docker in Visual Studio Code

Prerequisiti

  • Docker Desktop installato e in esecuzione oppure un demone Docker raggiungibile (remote daemon o WSL2).
  • Visual Studio Code installato.
  • Conoscenza base di terminale e Node.js se vuoi seguire l’esempio pratico.

Importante: se usi WSL2 su Windows, assicurati che l’integrazione con Docker sia attivata nelle impostazioni di Docker Desktop.

Installare l’estensione Docker in VS Code

Apri la vista Estensioni in Visual Studio Code, cerca “Docker” e installa l’estensione ufficiale Microsoft Docker.

Installa l'estensione Docker in VS Code

Al termine dell’installazione, nella barra laterale sinistra apparirà l’icona Docker/Containers che apre il Docker Explorer.

Docker Explorer in Visual Studio Code

Collegare Docker Desktop a VS Code

Quando Docker Desktop è in esecuzione, l’estensione Docker si connette automaticamente al demone locale. Non serve configurazione aggiuntiva nella maggior parte dei casi.

Per verificare la connessione, clicca sull’icona Docker/Containers per aprire il Docker Explorer. Da qui puoi vedere container in esecuzione e arrestati, immagini, registri, volumi e reti.

Verifica integrazione Docker con VS Code

Nota: se usi un host Docker remoto, configura il contesto Docker (Docker contexts) o imposta la variabile DOCKER_HOST. Se usi WSL, assicurati che VS Code usi la stessa distribuzione collegata a Docker.

Gestire container, immagini e volumi da VS Code

Con l’integrazione attiva puoi eseguire molte operazioni con il tasto destro sulle risorse nel Docker Explorer: avviare, fermare, riavviare, rimuovere container, costruire immagini, eseguire il pull di immagini e gestire volumi.

Gestire container dal Docker Explorer

Esempi comuni:

  • Avviare/fermare un container: tasto destro sul container → Start / Stop.
  • Rimuovere un’immagine inutilizzata: tasto destro sull’immagine → Remove.
  • Ispezionare un volume: tasto destro sul volume → Inspect.

Avvia, Ferma o Rimuovi container

Rimuovere un'immagine Docker

Gestire un volume Docker

Puoi anche esplorare reti, registri e contesti Docker, e accedere alla sezione Aiuto e feedback dall’estensione.

Costruire ed eseguire un’app containerizzata in VS Code

Qui vediamo un esempio pratico con una piccola app Node.js Express.

Crea una cartella di progetto e dentro un file index.js con questo contenuto:

const express = require("express");  
const server = express();  
const PORT = 4000;  
  
server.get("/", (req, res) => {  
  res.send("Welcome to our Express app!");  
});  
  
server.listen(PORT, () => {  
  console.log(`App running on port ${PORT}`);  
});

Questo è un server Express minimale che risponde sulla porta 4000.

Generare i file Docker automaticamente

L’estensione può generare Dockerfile e file correlati per te. Apri la Command Palette (⇧⌘P su Mac o Ctrl+Shift+P su Windows) e avvia il comando Add Docker files to Workspace.

Aggiungi file Docker al workspace

Seleziona Node.js come piattaforma dell’applicazione.

Seleziona Node.js per il generatore Docker

Scegli il file package.json presente nella root del progetto; l’estensione lo usa per impostare la build e il comando di avvio.

Seleziona package.json del progetto

Specificare la porta che l’app espone (es. 4000) e rispondere Sì se vuoi includere un file Docker Compose.

L’estensione genererà un Dockerfile, .dockerignore e opzionalmente compose.yaml.

Genera i file necessari per Docker

Costruire l’immagine e avviarla

Per costruire l’immagine, fai clic destro sul Dockerfile e scegli Build Image oppure usa il comando Docker Images: Build Image dalla Command Palette.

Costruisci immagine Docker

Una volta costruita, troverai l’immagine nella sezione Images del Docker Explorer.

Verifica immagine costruita

Esegui l’immagine tramite tasto destro → Run o usando il comando container images: run dalla Command Palette.

Esegui immagine Docker dal Docker Explorer

Scegli l’ultima immagine creata dalla lista e verifica che appaia nella sezione Containers.

Scegli immagine da eseguire

Conferma container in esecuzione

Per aprire l’app in un browser, clic destro sul container in esecuzione e scegli Open in Browser.

Apri applicazione nel browser dal container

Dalla console dell’estensione vedrai i log e conferme dell’avvio del container.

Output del container in esecuzione

Checklist rapida per lo sviluppo con Docker su VS Code

Developer:

  • Avere Docker Desktop o demone Docker accessibile.
  • Avere Node.js e package.json corretti.
  • Generare Dockerfile dall’estensione o scriverlo manualmente.
  • Costruire l’immagine e testare localmente.

Ops/DevOps:

  • Verificare policy di rete e porte esposte.
  • Configurare registri (privati o pubblici).
  • Monitorare volumi e cleanup di immagini non usate.

Sicurezza:

  • Evitare mount di file sensibili direttamente nei container.
  • Ridurre privilegi dei container (non eseguire come root se possibile).

Alternative e approcci correlati

  • Docker CLI: per flussi di lavoro scriptati e CI/CD preferisci i comandi docker build, docker run, docker-compose.
  • DevContainers: se vuoi uno sviluppo in container persistente e riproducibile, usa Remote - Containers / Dev Containers di VS Code.
  • Docker Compose: per più servizi, genera docker-compose.yml e gestisci stack multi-container.
  • GitHub Codespaces o Gitpod: sviluppo remoto con container preconfigurati.

Casi in cui l’integrazione potrebbe fallire e come risolvere

Quando può fallire:

  • Docker Desktop non avviato o demone non raggiungibile.
  • Permessi insufficienti per accedere al socket Docker.
  • Conflitti di porta tra host e container.
  • Incompatibilità tra WSL distro e Docker Desktop.

Controlli rapidi:

  • Esegui docker version nel terminale per verificare connettività.
  • Controlla i log di Docker Desktop.
  • Se usi WSL, assicurati che VS Code apra la stessa distribuzione che Docker Desktop usa.

Mini playbook: debug veloce

  1. Verifica che Docker sia attivo: docker ps.
  2. Se non risponde, riavvia Docker Desktop.
  3. Controlla che l’estensione Docker mostri risorse; se vuota, prova a cambiare il contesto Docker (Command Palette → Docker: Switch Context).
  4. Controlla i log del container con tasto destro → View Logs.
  5. Per problemi di build, esegui la build manuale in terminale: docker build -t myapp ..
  6. Per testare la porta: docker run -p 4000:4000 myapp e apri http://localhost:4000.

Incident runbook e rollback rapido

Se un container aggiornato causa problemi in produzione locale:

  1. Fermare il container problematico: docker stop .
  2. Riavviare la versione precedente dall’immagine taggata: docker run -d --name myapp-rollback -p 4000:4000 myapp:previous.
  3. Pulire risorse temporanee e controllare i log per la causa.

Sicurezza e note sulla privacy

  • Evita di montare cartelle con dati sensibili nei container usati per sviluppo.
  • Non memorizzare credenziali in immagini o Dockerfile; usa variabili d’ambiente o secret manager.
  • Per ambienti condivisi, limita i permessi e usa registri privati con autenticazione.

Nota GDPR: se i container trattano dati personali, applica le stesse misure di protezione usate in produzione (cifratura, controllo accessi, audit).

Scorciatoie e cheat sheet

VS Code

  • Aprire Command Palette: ⇧⌘P (Mac) / Ctrl+Shift+P (Windows)
  • Aprire Docker Explorer: icona Docker nella barra laterale

Docker CLI

  • Costruire immagine: docker build -t nome:tag .
  • Eseguire immagine: docker run -d -p hostPort:containerPort nome:tag
  • Vedere i container: docker ps -a
  • Rimuovere un’immagine: docker rmi

Modelli mentali utili

  • Tratta l’immagine come un imballaggio immutabile del tuo runtime; i container sono istanze eseguite di quell’immagine.
  • Mantieni i Dockerfile orientati alla riproducibilità: dichiarativi, con layer chiari e .dockerignore per escludere file non necessari.

Glossario rapido (1 riga ciascuno)

  • Immagine: snapshot immutabile dei file e della configurazione per creare container.
  • Container: istanza in esecuzione di un’immagine.
  • Dockerfile: file di istruzioni per costruire un’immagine.
  • Docker Compose: strumento per definire e gestire applicazioni multi-container.

Riepilogo

Integrare Docker in Visual Studio Code semplifica lo sviluppo containerizzato: puoi generare Dockerfile, costruire immagini, eseguire e debuggare container senza lasciare l’editor. Per flussi più avanzati valuta DevContainers, Docker CLI o soluzioni remote. Segui le checklist e le pratiche di sicurezza indicate per mantenere un ambiente di sviluppo pulito e riproducibile.

Importante: testa sempre le immagini localmente e non inserire credenziali nei Dockerfile.

Azione consigliata

Prova a creare il progetto di esempio, genera i Dockerfile con l’estensione e confronta la procedura con una build manuale via CLI per capire quale flusso si adatta meglio al tuo team.

Autore
Redazione

Materiali simili

Installare e usare Podman su Debian 11
DevOps

Installare e usare Podman su Debian 11

Guida rapida a apt-pinning su Debian
Linux

Guida rapida a apt-pinning su Debian

Forzare FSR 4 con OptiScaler: guida completa
Guide.

Forzare FSR 4 con OptiScaler: guida completa

Dansguardian + Squid NTLM su Debian Etch
Rete

Dansguardian + Squid NTLM su Debian Etch

Riparare errore installazione SD su Android
Android

Riparare errore installazione SD su Android

Cartelle di rete con KNetAttach e remote:/
Linux

Cartelle di rete con KNetAttach e remote:/