Unul dintre principalele avantaje ale Docker este că vă permite să rulați proiecte software fără a fi nevoie să configurați medii complexe de dezvoltare.
Acest ghid vă va arăta cum să creați o imagine Docker a unei API Web .NET 5. Puteți utiliza apoi imaginea pentru a rula codul backend de pe orice computer care are instalat Docker și interacționa cu API-ul din proiectul dvs. web frontal sau o aplicație mobilă.
Crearea unui API Web .NET 5
Atât Docker cât și .NET 5 sunt open-source și cross-platform, prin urmare puteți urmări acest ghid indiferent dacă utilizați macOS, Windows sau Linux.
Utilizați CLI dotnet pentru a crea un proiect ASP.NET Web API cu următoarea comandă:
dotnet new webapi -o aspdockerapi
Comanda de mai sus creează un proiect numit aspdockerapi și îl plasează într-un folder cu același nume. În plus, aplicația schelează un controler API cu câteva exemple de date privind prognoza meteo.
Notă: Dacă nu aveți .NET 5 instalat pe computer, îl puteți descărca de pe linkul de mai jos.
Descarca: .NET 5 Pentru Windows, macOS și Linux
Odată ce proiectul este creat, puteți accesa folderul rădăcină al proiectului folosind următoarea comandă.
cd aspdockerapi
Puteți rula și servi API-ul web utilizând comanda de mai jos.
rula dotnet
În mod implicit, aplicația va fi difuzată pe portul 5001. Puteți vizualiza exemplele de date ale aplicației în browserul dvs. pe următoarea adresă URL: https://localhost: 5001 / prognoza meteo iar datele API-urilor ar trebui să arate ca mai jos.
Aflați mai multe: Ce este un API?
Crearea instrucțiunilor de imagine Docker
Pentru a crea o imagine Docker, trebuie să oferiți Docker Engine câteva instrucțiuni despre cum să o construiți. Aceste instrucțiuni trebuie plasate într-un fișier numit Dockerfile. Rețineți că fișierul nu are o extensie.
Utilizați următoarea comandă pentru a crea fișierul Dockerfile în folderul rădăcină al proiectului aplicației.
atinge Dockerfile
După crearea Dockerfile, structura folderelor de proiecte ar trebui să fie similară cu cea de mai jos:
Acum, copiați și lipiți codul de mai jos în Dockerfile.
FROM mcr.microsoft.com/dotnet/aspnet: 5.0-focal AS base
WORKDIR / aplicație
EXPUNE 80
FROM mcr.microsoft.com/dotnet/sdk: 5.0-focal AS build
WORKDIR / src
COPIE ["aspdockerapi.csproj", "./"]
RUN restaurare dotnet "./aspdockerapi.csproj"
COPIE. .
WORKDIR "/ src /."
RUN dotnet build "aspdockerapi.csproj" -c Release -o / app / build
FROM build AS publish
RUN dotnet publish "aspdockerapi.csproj" -c Release -o / app / publish
DE la baza AS finală
WORKDIR / aplicație
COPIE --de la = publish / app / publish.
ENTRYPOINT ["dotnet", "aspdockerapi.dll"]
Notă: În fișierul Docker de mai sus, proiectul și numele dll sunt aspdockerapi.csproj și aspdockerapi.dll respectiv, dacă proiectul dvs. are un nume diferit, asigurați-vă că vă actualizați fișierul Docker cu numele corecte.
Înțelegerea instrucțiunilor Dockerfile
Dockerfile este alcătuit în principal din cuvinte cheie Dockerfile, care, prin convenție, sunt cuvinte cu majuscule. Cuvintele cheie specifică instrucțiunile de executat în fiecare strat al imaginii Docker. Mai jos sunt principalele cuvinte cheie Docker pe care le folosește fișierul Docker de mai sus.
1. DIN
DIN cuvântul cheie specifică imaginea de bază pe care dorim să fie construită imaginea noastră. În fișierul Docker de mai sus, imaginea de bază inițială este o imagine .NET 5 de la Microsoft. Imaginea de bază .NET 5 conține componentele necesare pentru rularea aplicației.
2. WORKDIR
WORKDIR setează directorul de lucru sau contextul din interiorul imaginii. În acest exemplu, /app directorul este atribuit ca director implicit de lucru rădăcină folosind următoarea instrucțiune WORKDIR / aplicație.
3. COPIE
COPIE cuvântul cheie pur și simplu copiază conținutul dintr-un dosar și îl plasează în altul. În acest exemplu, este folosit inițial pentru a copia fișierul principal al proiectului, adică aspdockerapi.csproj în directorul de lucru al imaginilor.
4. ALERGA
ALERGA cuvântul cheie este folosit pentru a rula o anumită comandă Linux într-o imagine Docker. În Dockerfile deasupra ALERGA comanda este utilizată pentru a restabili dependențele, a construi proiectul ASP.NET și a publica proiectul.
5. CMD
CMD cuvântul cheie este un pic similar cu ALERGA cuvânt cheie discutat mai sus. Este folosit și în rularea unei comenzi Linux, dar spre deosebire de ALERGA cuvânt cheie care rulează comenzi pentru construirea imaginii, CMD cuvântul cheie este folosit pentru a rula comenzi Linux când imaginea este pornită, într-o instanță de container.
6. EXPUNE
EXPUNE cuvântul cheie este folosit pentru a expune un port din interiorul imaginii Docker către lumea exterioară. În acest caz, imaginea expune portul 80, care este utilizat pentru expunerea API-ului atunci când rulează containerul Docker.
Construirea imaginii Docker
Pentru a construi imaginea Docker pe baza Dockerfile, pur și simplu rulați următoarea comandă în folderul rădăcină al proiectului, adică acolo unde Dockerfile este pus.
docker build -t dockerwebapi -f Dockerfile.
Comanda de mai sus etichetează imaginea Docker cu numele dockerwebapi și specifică, de asemenea, că instrucțiunile pentru construirea acestei imagini se află în Dockerfile.
După ce imaginea este terminată de construit, puteți verifica dacă este listată ca imagine locală Docker folosind următoarea comandă:
imagini docker
Ieșirea din comanda de mai sus ar trebui să fie similară cu cea de mai jos, iar imaginea (dockerwebapi) apare pe prima linie în acest caz.
Dacă nu aveți Docker instalat pe computer, iată cum să instalați docker pe Ubuntu Linux, altfel utilizați linkul de mai jos pentru a descărca și instala Docker.
Descarca: Ghid de descărcare și instalare Docker
Rularea imaginii Docker
Pentru a rula imaginea Docker nou creată, utilizați următoarea comandă. -ti opțiunea specifică faptul că imaginea trebuie executată într-un mod interactiv de terminal și --rm specifică faptul că recipientul trebuie îndepărtat imediat după ce a ieșit.
docker run -ti --rm -p 8080: 80 dockerwebapi
De asemenea, comanda specifică faptul că containerul Docker ar trebui să ruleze pe portul HTTP 8080, care se mapează la portul 80 din contianer.
Accesați adresa URL: http://localhost: 8080 / WeatherForecast în browserul dvs. și veți găsi datele API care sunt difuzate din instanța Docker pe care o executați.
De ce să folosiți Docker?
Acest ghid v-a arătat cum să creați o imagine Docker a unui API web .NET 5.
Cu Docker, puteți automatiza modul în care vă implementați aplicațiile, puteți simplifica configurarea mediilor de dezvoltare software și puteți facilita colaborarea cu colegii ingineri software.
Docker oferă, de asemenea, mai multe avantaje față de alte tehnologii de virtualizare, motiv pentru care ar trebui să luați în considerare utilizarea acestuia în proiectele dvs. de inginerie software.
Docker oferă multe avantaje față de o mașină virtuală. Iată motivele pentru a începe să o utilizați astăzi.
Citiți în continuare
- Programare
- Dezvoltare web
- Docher
- ASP.NET
Mwiza dezvoltă software de profesie și scrie pe larg pe Linux și programare front-end. Unele dintre interesele sale includ istoria, economia, politica și arhitectura întreprinderii.
Aboneaza-te la newsletter-ul nostru
Alăturați-vă newsletter-ului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!
Încă un pas…!
Vă rugăm să confirmați adresa de e-mail în e-mailul pe care tocmai vi l-am trimis.