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.
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
- Programozás
- Webfejlesztés
- Dokkmunkás
- ASP.NET

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.
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.