A Docker egyik fő előnye, hogy lehetővé teszi szoftverprojektek futtatását anélkül, hogy komplex fejlesztői környezeteket kellene beállítani.

Ez az útmutató bemutatja, hogyan hozhat létre Docker-képet egy .NET 5 webes API-ról. Ezután a kép segítségével futtathatja a háttérkódot minden olyan számítógépről, amelyre a Docker telepítve van, és kölcsönhatásba léphet az API-val az elülső webprojektjéből vagy egy mobilalkalmazásból.

.NET 5 webes API létrehozása

A Docker és a .NET 5 egyaránt nyílt forráskódú és platformokon átívelő, ezért kövesse ezt az útmutatót, függetlenül attól, hogy macOS-t, Windows-ot vagy Linuxot használ.

A dotnet CLI használatával hozzon létre egy ASP.NET Web API projektet a következő paranccsal:

 dotnet új webapi -o aspdockerapi 

A fenti parancs létrehoz egy nevű projektet aspdockerapi és egy azonos nevű mappába helyezi. Ezenkívül az alkalmazás egy API-vezérlőt állít össze néhány minta időjárás-előrejelzési adattal.

jegyzet: Ha nincs telepítve a .NET 5 a számítógépére, letöltheti az alábbi linkről.

Letöltés: .NET 5 Windows, macOS és Linux rendszerhez

A projekt létrehozása után a következő paranccsal léphet be a projekt gyökérmappájába.

cd aspdockerapi

Az alábbi paranccsal futtathatja és kiszolgálhatja a webes API-t.

 dotnet futtatás 

Alapértelmezés szerint az alkalmazás az 5001-es porton lesz kiszolgálva. Megtekintheti az alkalmazás mintaadatait a böngészőben a következő URL-címen: https://localhost: 5001 / időjárás és az API-k adatainak az alábbiak szerint kell kinézniük.

Tudj meg többet: Mi az API?

Docker Image utasítások létrehozása

Docker-kép létrehozásához meg kell adnia a Docker Engine néhány utasítását a felépítéséről. Ezeket az utasításokat egy megnevezett fájlba kell helyezni Dockerfile. Vegye figyelembe, hogy a fájlnak nincs kiterjesztése.

A következő paranccsal hozza létre a Dockerfile az alkalmazás projekt gyökérmappájában.

érintse meg a Dockerfile elemet

A. Létrehozása után Dockerfile, a projektek mappaszerkezetének hasonlónak kell lennie az alábbihoz:

Másolja és illessze be az alábbi kódot a Dockerfile.

FROM mcr.microsoft.com/dotnet/aspnet: 5.0-fokális AS alap
WORKDIR / kb
80. EXPOZÍCIÓ
FROM mcr.microsoft.com/dotnet/sdk: 5.0-focal AS build
WORKDIR / src
MÁSOLÁS ["aspdockerapi.csproj", "./"]
RUN dotnet visszaállítás "./aspdockerapi.csproj"
MÁSOLAT. .
WORKDIR "/ src /."
Futtassa a dotnet build "aspdockerapi.csproj" -c kiadását -o / app / build
FROM build AS közzététel
RUN dotnet publish "aspdockerapi.csproj" -c Release -o / app / publish
AS bázisról végleges
WORKDIR / kb
MÁSOLÁS - from = közzététel / alkalmazás / közzététel.
ENTRYPOINT ["dotnet", "aspdockerapi.dll"]

jegyzet: A fenti Dockerfile-ban a projekt és a dll nevek aspdockerapi.csproj és aspdockerapi.dll illetve ha a projektnek más neve van, akkor mindenképpen frissítse a Dockerfile fájlt a megfelelő nevekkel.

A Dockerfile utasításainak megértése

A Dockerfile főleg a Dockerfile kulcsszavakból áll, amelyek megegyezés szerint nagybetűs szavak. A kulcsszavak meghatározzák a Docker-kép minden rétegében végrehajtandó utasítást. Az alábbiakban bemutatjuk azokat a fő Docker kulcsszavakat, amelyeket a fenti Dockerfile használ.

1. TÓL TŐL

A TÓL TŐL kulcsszó adja meg azt az alapképet, amelyre azt szeretnénk, hogy a képünk épüljön. A fenti Dockerfile-ban a kezdeti alapkép a Microsoft .NET 5 képe. A .NET 5 alapkép tartalmazza az alkalmazás futtatásához szükséges összetevőket.

2. WORKDIR

WORKDIR beállítja a munkakönyvtárat vagy a kontextust a képen belül. Ebben a példában a /app könyvtár az alapértelmezett gyökérmunkakönyvtárként van hozzárendelve a következő utasítás segítségével WORKDIR / kb.

3. MÁSOLAT

A MÁSOLAT kulcsszó egyszerűen átmásolja a tartalmat az egyik mappából, és egy másikba helyezi. Ebben a példában kezdetben a fő projektfájl másolására használják, aspdockerapi.csproj a képek munka könyvtárába.

4. FUSS

A FUSS kulcsszó egy adott Linux parancs futtatására szolgál a Docker képen belül. Ban,-ben Dockerfile fent, a FUSS A parancs a függőségek helyreállítására, az ASP.NET projekt felépítésére és a projekt közzétételére szolgál.

5. CMD

A CMD kulcsszó kicsit hasonlít a FUSS kulcsszó fent tárgyalt. Linux parancs futtatásakor is használják, de a FUSS kulcsszó, amely parancsokat futtat a kép felépítéséhez, a CMD kulcsszó a Linux parancsok futtatására szolgál a kép indításakor, egy tároló példányban.

6. TÉTEL

A EXPOZÍCIÓ kulcsszóval a Docker kép belsejében lévő portot a külvilág elé tárják. Ebben az esetben a kép kiteszi a 80-as portot, amelyet az API bemutatására használnak a Docker-tároló futtatásakor.

A Docker kép építése

A Docker kép felépítése a Dockerfile, egyszerűen futtassa a következő parancsot a projekt gyökérmappájában, vagyis ahol a Dockerfile kerül.

docker build -t dockerwebapi -f Dockerfile.

A fenti parancs megnevezi a Docker-képet dockerwebapi és azt is meghatározza, hogy a kép elkészítéséhez szükséges utasítások a Dockerfile.

Miután a kép elkészült, a következő paranccsal ellenőrizheti, hogy helyi Docker-képként szerepel-e:

dokkoló képek

A fenti parancs kimenetének hasonlónak kell lennie az alábbihoz, és a képnek (dockerwebapi) ebben az esetben az első sorban jelenik meg.

Ha a számítógépére nincs telepítve a Docker, Itt van, hogyan kell telepíteni a dokkolót az Ubuntu Linux rendszerre, egyébként használja az alábbi linket a Docker letöltéséhez és telepítéséhez.

Letöltés: Docker letöltési és telepítési útmutató

A Docker Image futtatása

Az újonnan létrehozott Docker-kép futtatásához használja a következő parancsot. A -ti opció megadja, hogy a képet interaktív terminál módban kell futtatni, és --rm előírja, hogy a tartályt kilépése után azonnal el kell távolítani.

docker run -ti --rm -p 8080: 80 dockerwebapi

A parancs megadja azt is, hogy a Docker-tárolónak a 8080 HTTP porton kell futnia, amely a contianer belsejében található 80-as portra térképez fel.

Lépjen az URL-re: http://localhost: 8080 / WeatherForecast a böngészőben, és az API-adatait a futtatott Docker-példányból fogják kiszolgálni.

Miért érdemes használni a Dockert?

Ez az útmutató bemutatta, hogyan hozhat létre egy .NET 5 webes API Docker-képét.

A Docker segítségével automatizálhatja az alkalmazások telepítését, egyszerűsítheti a szoftverfejlesztő környezetek beállítását, és megkönnyítheti az együttműködést más szoftvermérnökökkel.

A Docker számos előnyt kínál más virtualizációs technológiákkal szemben, ezért valószínűleg fontolóra kell vennie a szoftvertechnikai projektjeiben való alkalmazását.

Email
6 ok a Docker virtualizációs szoftver használatára

A Docker számos előnyt nyújt egy virtuális géppel szemben, ezért ma kezdhetjük el használni.

Olvassa el a következőt

Kapcsolódó témák
  • Programozás
  • Webfejlesztés
  • Dokkmunkás
  • ASP.NET
A szerzőről
Mwiza Kumwenda (26 cikk megjelent)

Mwiza szakmája szerint fejleszti a szoftvert, és sokat ír Linuxról és a front-end programozásról. Néhány érdeklődési területe a történelem, a közgazdaságtan, a politika és a vállalkozás-építészet.

Több Mwiza Kumwendától

Iratkozzon fel hírlevelünkre

Csatlakozzon hírlevelünkhöz, amely műszaki tippeket, véleményeket, ingyenes e-könyveket és exkluzív ajánlatokat tartalmaz!

Még egy lépés…!

Kérjük, erősítse meg e-mail címét az imént elküldött e-mailben.

.