Uno dei principali vantaggi di Docker è che consente di eseguire progetti software senza la necessità di configurare ambienti di sviluppo complessi.
Questa guida ti mostrerà come creare un'immagine Docker di un'API Web .NET 5. Puoi quindi usare l'immagine per eseguire il codice di backend da qualsiasi PC su cui è installato Docker e interagire con l'API dal tuo progetto Web front-end o da un'app mobile.
Creazione di un'API Web .NET 5
Sia Docker che .NET 5 sono open source e multipiattaforma, quindi puoi seguire questa guida sia che tu stia utilizzando macOS, Windows o Linux.
Utilizzare la CLI dotnet per creare un progetto API Web ASP.NET con il comando seguente:
dotnet new webapi -o aspdockerapi
Il comando sopra crea un progetto chiamato aspdockerapi e lo inserisce in una cartella con lo stesso nome. Inoltre, l'applicazione esegue l'impalcatura di un controller API con alcuni dati di previsioni meteorologiche di esempio.
Nota: Se non hai .NET 5 installato sul tuo PC, puoi scaricarlo dal link sottostante.
Scarica: .NET 5 per Windows, macOS e Linux
Una volta creato il progetto, puoi andare nella cartella principale del progetto usando il seguente comando.
cd aspdockerapi
Puoi eseguire e servire l'API Web utilizzando il comando seguente.
punto rete
Per impostazione predefinita, l'applicazione verrà servita sulla porta 5001. È possibile visualizzare i dati di esempio dell'applicazione nel browser al seguente URL: https://localhost: 5001/previsioni del tempo e i dati delle API dovrebbero apparire come di seguito.
Per saperne di più: Che cos'è un'API?
Creazione di istruzioni per l'immagine Docker
Per creare un'immagine Docker, devi fornire al Docker Engine alcune istruzioni su come costruirla. Queste istruzioni dovrebbero essere inserite in un file chiamato Dockerfile. Nota che il file non ha un'estensione.
Utilizzare il seguente comando per creare il Dockerfile nella cartella principale del progetto dell'applicazione.
tocca Dockerfile
Dopo aver creato il Dockerfile, la struttura delle cartelle dei tuoi progetti dovrebbe essere simile a quella seguente:
Ora copia e incolla il codice qui sotto nel tuo Dockerfile.
DA mcr.microsoft.com/dotnet/aspnet: base AS 5.0 focale
WORKDIR /app
ESPOSI 80
DA mcr.microsoft.com/dotnet/sdk: build AS 5.0 focale
WORKDIR /src
COPY ["aspdockerapi.csproj", "./"]
ESEGUI ripristino dotnet "./aspdockerapi.csproj"
COPIA. .
WORKDIR "/src/."
ESEGUI dotnet build "aspdockerapi.csproj" -c Release -o /app/build
DA build AS publish
ESEGUI dotnet publish "aspdockerapi.csproj" -c Release -o /app/publish
DA base AS finale
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "aspdockerapi.dll"]
Nota: Nel Dockerfile sopra, i nomi del progetto e della dll sono aspdockerapi.csproj e aspdockerapi.dll rispettivamente, se il tuo progetto ha un nome diverso, assicurati di aggiornare il tuo Dockerfile con i nomi corretti.
Comprensione delle istruzioni Dockerfilefile
Il Dockerfile è composto principalmente da parole chiave Dockerfile, che per convenzione sono parole maiuscole. Le parole chiave specificano l'istruzione da eseguire in ogni livello dell'immagine Docker. Di seguito sono riportate le principali parole chiave Docker utilizzate dal Dockerfile sopra.
1. A PARTIRE DAL
Il A PARTIRE DAL parola chiave specifica l'immagine di base su cui vogliamo che sia costruita la nostra immagine. Nel Dockerfile sopra, l'immagine di base iniziale è un'immagine .NET 5 di Microsoft. L'immagine di base .NET 5 contiene i componenti necessari per l'esecuzione dell'applicazione.
2. WORKDIR
WORKDIR imposta la directory di lavoro o il contesto all'interno dell'immagine. In questo esempio, il /app directory viene assegnata come directory di lavoro radice predefinita utilizzando la seguente istruzione WORKDIR /app.
3. COPIA
Il COPIA La parola chiave copia semplicemente il contenuto da una cartella e lo inserisce in un'altra. In questo esempio, viene inizialmente utilizzato per copiare il file di progetto principale, ovvero aspdockerapi.csproj nella directory di lavoro delle immagini.
4. CORRERE
Il CORRERE la parola chiave viene utilizzata per eseguire un comando Linux specifico all'interno di un'immagine Docker. Nel Dockerfile sopra il CORRERE Il comando viene utilizzato per ripristinare le dipendenze, creare il progetto ASP.NET e pubblicare il progetto.
5. CMD
Il CMD la parola chiave è un po' simile a CORRERE parola chiave discussa sopra. Viene anche utilizzato nell'esecuzione di un comando Linux, ma a differenza del CORRERE parola chiave che esegue i comandi per la creazione dell'immagine, il CMD La parola chiave viene utilizzata per eseguire comandi Linux all'avvio dell'immagine, in un'istanza di contenitore.
6.ESPOSIZIONE
Il ESPORRE La parola chiave viene utilizzata per esporre al mondo esterno una porta all'interno dell'immagine Docker. In questo caso, l'immagine espone la porta 80, che viene utilizzata per esporre l'API durante l'esecuzione del contenitore Docker.
Costruire l'immagine Docker
Per costruire l'immagine Docker in base a Dockerfile, è sufficiente eseguire il seguente comando all'interno della cartella principale del progetto, ovvero dove il Dockerfile è posto.
docker build -t dockerwebapi -f Dockerfile .
Il comando sopra etichetta l'immagine Docker con il nome dockerwebapi e specifica anche che le istruzioni per costruire questa immagine sono nel Dockerfile.
Al termine della creazione dell'immagine, puoi verificare se è elencata come immagine Docker locale utilizzando il comando seguente:
immagini docker
L'output del comando sopra dovrebbe essere simile a quello sotto e l'immagine (dockerwebapi) appare in questo caso sulla prima riga.
Se non hai Docker installato sul tuo PC, ecco come installare docker su Ubuntu Linux, altrimenti usa il link sottostante per scaricare e installare Docker.
Scarica: Guida al download e all'installazione di Docker
Esecuzione dell'immagine Docker
Per eseguire l'immagine Docker appena creata, usa il comando seguente. Il -ti opzione specifica che l'immagine deve essere eseguita in modalità terminale interattivo, e, --rm specifica che il contenitore deve essere rimosso immediatamente dopo l'uscita.
docker run -ti --rm -p 8080:80 dockerwebapi
Inoltre, il comando specifica che il contenitore Docker deve essere eseguito sulla porta HTTP 8080, che esegue il mapping alla porta 80 all'interno del contenitore.
Vai all'URL: http://localhost: 8080/Previsioni del tempo nel tuo browser e troverai i tuoi dati API serviti dall'istanza Docker che stai eseguendo.
Perché usare Docker?
Questa guida ha mostrato come creare un'immagine Docker di un'API Web .NET 5.
Con Docker puoi automatizzare il modo in cui distribuisci le tue applicazioni, semplificare la configurazione degli ambienti di sviluppo software e facilitare la collaborazione con altri ingegneri del software.
Docker offre anche diversi vantaggi rispetto ad altre tecnologie di virtualizzazione, motivo per cui dovresti probabilmente considerare di utilizzarlo nei tuoi progetti di ingegneria del software.
Docker offre molti vantaggi rispetto a una macchina virtuale, ecco i motivi per iniziare a utilizzarla oggi.
Leggi Avanti
- Programmazione
- Sviluppo web
- Docker
- ASP.NET
Mwiza sviluppa software di professione e scrive ampiamente su Linux e programmazione front-end. Alcuni dei suoi interessi includono storia, economia, politica e architettura d'impresa.
Iscriviti alla nostra Newsletter
Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!
Ancora un passo…!
Conferma il tuo indirizzo e-mail nell'e-mail che ti abbiamo appena inviato.