Configurare i contenitori di sviluppo in Windows

Un contenitore dev consente di usare un contenitore Docker come ambiente di sviluppo completo, definito da un devcontainer.json file archiviato nel repository. Tutti gli utenti che apre il progetto ottengono gli stessi strumenti, estensioni e impostazioni, indipendentemente da ciò che viene installato nel computer locale.

Questa pagina illustra la configurazione specifica del Windows. Per un'introduzione completa ai contenitori di sviluppo e al relativo funzionamento, vedere la documentazione di Dev Containers nel sito Web di VS Code.

Prerequisiti

I contenitori di sviluppo in Windows richiedono:

  • WSL 2 - sottosistema Windows per Linux versione 2. Installare WSL se non è già stato fatto.
  • Docker Desktop per Windows con il back-end WSL 2 abilitato. Scaricare Docker Desktop e seguire il programma di installazione. Durante l'installazione, assicurarsi che l'opzione Usa motore basato su WSL 2 sia selezionata nelle impostazioni di Docker Desktop (Impostazioni>generali).
  • Visual Studio CodeDownload VS Code.
  • Estensione Dev Containers : installare l'estensione Dev Containers da VS Code Marketplace.

Dove archiviare i file è importante

Importante

In Windows, le prestazioni di Dev Container dipendono principalmente dalla posizione in cui risiedono i file di progetto. Archiviare il progetto nel file system WSL 2 (ad esempio, /home/yourname/projects/), non nel file system Windows (ad esempio, C:\Users\yourname\projects\).

Quando i file si trovano nel file system Windows (C:\), Docker accede tramite una condivisione file tra sistemi operativi, che è significativamente più lenta. Quando i file si trovano nel file system WSL 2, Docker usa I/O Linux nativo e le prestazioni sono sostanzialmente migliori, soprattutto per le compilazioni e gli strumenti di controllo dei file.

Per clonare nel file system WSL 2, aprire la distribuzione WSL (ad esempio Ubuntu) dal menu Start o Terminale Windows e clonarvi:

cd ~
mkdir projects && cd projects
git clone https://github.com/your-org/your-repo.git

Aprire quindi la cartella in VS Code da WSL:

code your-repo

VS Code si connette a WSL e rileva se devcontainer.json è presente.

Aprire un progetto in un contenitore di sviluppo

Quando il progetto è aperto in VS Code (connesso a WSL):

  1. Premere F1 e selezionare Contenitori di sviluppo: Riaprire nel contenitore.
  2. VS Code compila l'immagine del contenitore definita in .devcontainer/devcontainer.json o richiede di aggiungerne una se non esiste.
  3. Al termine della compilazione, VS Code si riconnette all'interno del contenitore con tutti gli strumenti e le estensioni configurati disponibili.

Per tornare all'ambiente locale, premere F1 e selezionare Contenitori di sviluppo: Riapri cartella in locale.

Aggiungere un contenitore di sviluppo a un progetto esistente

Se il tuo progetto non ha ancora un devcontainer.json

  1. Premere F1 e selezionare Dev Containers: Add Dev Container Configuration Files (Contenitori di sviluppo: Aggiungi file di configurazione del contenitore dev).
  2. Scegliere un'immagine di base , ad esempio Node.js, Python o un'immagine Debian/Ubuntu generica.
  3. VS Code crea un .devcontainer/devcontainer.json file che è possibile archiviare nel controllo del codice sorgente.

Per informazioni di riferimento complete sulle opzioni, vedere devcontainer.json reference sul sito della Dev Container Specification.

Risoluzione dei problemi

Container viene avviato ma le modifiche ai file non vengono rilevate Il progetto è probabilmente archiviato nel file system Windows. Spostarlo in WSL (vedere Dove archiviare i file è importante in precedenza).

Docker Desktop non avvia o manca l'integrazione WSL Aprire Docker Desktop, passare a Impostazioni>Risorse>integrazione WSL e abilitare l'integrazione per le distribuzioni WSL installate.

Visual Studio Code non è in grado di connettersi al contenitore Assicurarsi che Docker Desktop sia in esecuzione prima di aprire VS Code. Controllare l'icona dell'area di notifica di Docker Desktop.

Passaggi successivi