noisiv 1
noisiv
Manwe Work 1
Manwe Work
Agora Metin2 1
Agora Metin2
Bvural41 1
Bvural41
onur akbaş 1
onur akbaş
IronTalonX 1
IronTalonX
D 1
delimuratt
berzahx 1
berzahx
PrimeAC 1
PrimeAC
DEVLOPER 1
DEVLOPER
ShadowFon 1
ShadowFon
mavzermete 1
mavzermete
Hikaye Ekle

Altın Konu .NET Web API'sinin Docker Görüntüsü Nasıl Oluşturulur?

Replicant

Ehlî olmuşum elemlerin
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye
TM Üye
Katılım
7 May 2010
Konular
10,579
Mesajlar
58,614
Çözüm
219
Online süresi
10mo 29d
Reaksiyon Skoru
16,722
Altın Konu
444
TM Yaşı
16 Yıl 1 Ay 11 Gün
Başarım Puanı
691
MmoLira
19,928
DevLira
601
Ticaret - 100%
2   0   0

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

pc_with_docker_image_wallpaper.png

Docker'ın ana avantajlarından biri, karmaşık geliştirme ortamları kurmaya gerek kalmadan yazılım projelerini çalıştırmanıza izin vermesidir.

Bu kılavuz size bir .NET 5 Web API'sinin Docker görüntüsünün nasıl oluşturulacağını gösterecektir. Ardından, Docker'ın yüklü olduğu herhangi bir bilgisayardan arka uç kodunu çalıştırmak ve ön uç web projenizden veya bir mobil uygulamadan API ile etkileşim kurmak için görüntüyü kullanabilirsiniz.

.NET 5 Web API'si Oluşturma

Hem Docker hem de .NET 5 açık kaynaklıdır ve platformlar arasıdır, bu nedenle macOS, Windows veya Linux kullanıyor olsanız da bu kılavuzu takip edebilirsiniz.

Aşağıdaki komutla bir ASP.NET Web API projesi oluşturmak için dotnet CLI'yi kullanın:
Kod:
dotnet new webapi -o aspdockerapi

Yukarıdaki komut, aspdockerapi adlı bir proje oluşturur ve onu aynı adı taşıyan bir klasöre yerleştirir. Ayrıca uygulama, bazı örnek hava durumu tahmini verileriyle bir API denetleyicisi oluşturur.

Not : Eğer bilgisayarınızda .NET 5 kurulu değilse aşağıdaki linkten indirebilirsiniz.

Download:

Proje oluşturulduktan sonra aşağıdaki komutu kullanarak projenin kök klasörüne gidebilirsiniz.

Kod:
cd aspdockerapi

Aşağıdaki komutu kullanarak web API'sini çalıştırabilir ve sunabilirsiniz.

Kod:
 dotnet run

Varsayılan olarak, uygulama 5001 numaralı bağlantı noktasında sunulacaktır. Uygulamanın örnek verilerini tarayıcınızda şu URL'de görüntüleyebilirsiniz: ve API verileri aşağıdaki gibi görünmelidir.

asp_net_web_api_page.png

Docker Görüntü Talimatları Oluşturma

Bir Docker görüntüsü oluşturmak için Docker Engine'e nasıl oluşturulacağına dair bazı talimatlar vermeniz gerekir. Bu talimatlar Dockerfile adlı bir dosyaya yerleştirilmelidir . Dosyanın bir uzantısı olmadığını unutmayın.

Uygulama projenizin kök klasöründe Dockerfile oluşturmak için aşağıdaki komutu kullanın.

Kod:
touch Dockerfile

Dockerfile dosyasını oluşturduktan sonra , projeleriniz klasör yapınız aşağıdakine benzer olmalıdır:

asp_docker_application_folder_structure.png

Şimdi, aşağıdaki kodu kopyalayıp Dockerfile dosyanıza yapıştırın.

Kod:
FROM mcr.microsoft.com/dotnet/aspnet:5.0-focal AS base
WORKDIR /app
EXPOSE 80
FROM mcr.microsoft.com/dotnet/sdk:5.0-focal AS build
WORKDIR /src
COPY ["aspdockerapi.csproj", "./"]
RUN dotnet restore "./aspdockerapi.csproj"
COPY . .
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
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "aspdockerapi.dll"]

Not : Yukarıdaki Dockerfile'de proje ve dll isimleri sırasıyla aspdockerapi.csproj ve aspdockerapi.dll'dir , eğer projeniz farklı bir isme sahipse Dockerfile'ınızı doğru isimlerle güncellediğinizden emin olun.

Dockerfile Talimatlarını Anlamak

Dockerfile ağırlıklı Kongre tarafından büyük harf kelimelerdir Dockerfile anahtar kelimeler oluşur. Anahtar sözcükler, Docker görüntüsünün her katmanında yürütülecek talimatı belirtir. Yukarıda Dockerfile'ın kullandığı ana Docker anahtar kelimeleri aşağıdadır.

1. FROM

FROM kelime belirttiği bizim görüntüyü istediğiniz taban görüntü inşa edilecek. Yukarıdaki Dockerfile'de, ilk temel görüntü Microsoft'tan bir .NET 5 görüntüsüdür. .NET 5 temel görüntüsü, uygulamayı çalıştırmak için gerekli bileşenleri içerir.

2. WORKDIR​

WORKDIR, görüntünün içindeki çalışma dizinini veya bağlamını ayarlar. Bu örnekte, /app dizini, aşağıdaki WORKDIR /app ifadesi kullanılarak varsayılan kök çalışma dizini olarak atanmıştır .

3. COPY

COPY bir klasöre ve birbiri içine yerleştirir gelen basitçe kopya içerik anahtar kelime. Bu örnekte, başlangıçta ana proje dosyasını, yani aspdockerapi'yi kopyalamak için kullanılır . csproj dosyasını resimlerin çalışma dizinine atın.

4. RUN

RUN anahtar bir Docker resmin içindeki belirli Linux komutu çalıştırmak için kullanılır. In Dockerfile yukarıdaki, RUN komutu, bağımlılıkları geri ASP.NET proje oluşturmak ve proje yayımlamak için kullanılır.

5. CMD

CMD anahtar biraz benzer RUN yukarıda ele alınan bir anahtar kelime. Aynı zamanda bir Linux komutunun çalıştırılmasında da kullanılır, ancak görüntüyü oluşturmak için komutları çalıştıran RUN anahtar sözcüğünden farklı olarak , CMD anahtar sözcüğü, bir kapsayıcı örneğinde görüntü başlatıldığında Linux komutlarını çalıştırmak için kullanılır.

6.EXPOSE

EXPOSE dış dünyaya Docker görüntünün bir liman içini ortaya çıkarmak için kullanılır. Bu durumda görüntü, Docker kapsayıcısını çalıştırırken API'yi açığa çıkarmak için kullanılan 80 numaralı bağlantı noktasını gösterir.


Docker Görüntüsünü Oluşturma

Docker görüntüsünü Dockerfile'a dayalı olarak oluşturmak için , projenin kök klasöründe, yani Dockerfile'ın yerleştirildiği yerde aşağıdaki komutu çalıştırmanız yeterlidir.

Kod:
docker build -t dockerwebapi -f Dockerfile .

Yukarıdaki komut, Docker görüntüsünü dockerwebapi adıyla etiketler ve ayrıca bu görüntüyü oluşturmaya yönelik talimatların Dockerfile içinde olduğunu belirtir .

Görüntünün oluşturulması tamamlandıktan sonra, aşağıdaki komutu kullanarak yerel bir Docker görüntüsü olarak listelenip listelenmediğini kontrol edebilirsiniz:

Kod:
docker images

Yukarıdaki komutun çıktısı aşağıdakine benzer olmalıdır ve bu durumda ilk satırda görüntü ( dockerwebapi ) görünür.

docker_images_listing.png

Bilgisayarınızda Docker yüklü değilse Docker'ı indirip yüklemek için aşağıdaki bağlantıyı kullanın.

İndir :


Docker Görüntüsünü Çalıştırma

Yeni oluşturulan Docker görüntüsünü çalıştırmak için aşağıdaki komutu kullanın. -Ti görüntü interaktif terminali modunda çalıştırmak gerektiğini seçenek belirtir ve --rm o çıktıktan sonra belirtir konteyner hemen kaldırılması gerektiğini.

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

Ayrıca komut, Docker kapsayıcısının, contianer içindeki 80 numaralı bağlantı noktasıyla eşleşen HTTP bağlantı noktası 8080 üzerinde çalışması gerektiğini belirtir.

Tarayıcınızda şu URL'ye gidin: ve API verilerinizin, çalıştırmakta olduğunuz Docker örneğinden sunulduğunu göreceksiniz.


Neden Docker'ı Kullanmalısınız?

Bu kılavuz size bir .NET 5 web API'sinin Docker görüntüsünün nasıl oluşturulacağını gösterdi.

Docker ile uygulamalarınızı nasıl dağıtacağınızı otomatikleştirebilir, yazılım geliştirme ortamlarının kurulumunu basitleştirebilir ve diğer yazılım mühendisleriyle işbirliğini kolaylaştırabilirsiniz.

Docker ayrıca diğer sanallaştırma teknolojilerine göre çeşitli avantajlar sunar, bu yüzden muhtemelen yazılım mühendisliği projelerinizde kullanmayı düşünmelisiniz.
 
Eline sağlık paylaşım için teşekkürler :)
 
Paylaşım için teşekkürler
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst