Tutorial .NET - Layanan Mikro Pertama Anda
Intro
Tujuan
Pahami blok penyusun untuk membuat layanan mikro dengan .NET.
Prasyarat
Tidak ada.
macOS 12.0 atau versi yang lebih baru.
Waktu untuk Menyelesaikan
15 menit
Skenario
Buat layanan sederhana yang menghasilkan daftar nilai, lalu jalankan layanan dalam kontainer Docker.
Instal SDK .NET
Untuk mulai membuat aplikasi .NET, unduh dan instal .NET SDK.
Unduh .NET 8 SDK x64 (Intel)
Unduh .NET 8 SDK Arm64 (Apple Silicon)
Jika menggunakan Mac dengan chip Apple M1 atau M2, Anda perlu menginstal SDK versi Arm64.
Periksa semuanya terinstal dengan benar
Setelah menginstal, buka prompt perintah baru dan jalankan perintah berikut:
Setelah menginstal, buka terminal baru dan jalankan perintah berikut:
dotnet --versionJika penginstalan berhasil, Anda akan melihat versi 8.0.100 atau lebih tinggi yang dihasilkan:
8.0.100Jika semuanya terlihat baik, pilih tombol Lanjutkan di bawah untuk melanjutkan ke langkah berikutnya.
Ada kesalahan?
Jika Anda menerima kesalahan 'dotnet' tidak dikenal sebagai perintah internal atau eksternal, pastikan Anda membuka baris perintah baru. Jika memulai ulang mesin Anda dengan cepat tidak menyelesaikan masalah, gunakan tombol Saya mengalami masalah untuk mendapatkan bantuan dalam memperbaiki masalah tersebut.
Buat layanan Anda
Di prompt perintah Anda, jalankan perintah berikut untuk membuat aplikasi Anda:
Di terminal Anda, jalankan perintah berikut untuk membuat aplikasi Anda:
dotnet new webapi -o MyMicroservice --no-httpsKemudian, navigasikan ke direktori baru yang dibuat oleh perintah sebelumnya:
cd MyMicroserviceApa arti perintah ini?
Perintah dotnet membuat aplikasi baru jenis webapi (yaitu titik akhir REST API).
- Parameter
-omembuat direktori bernamaMyMicroservicetempat aplikasi Anda disimpan. - Bendera
--no-httpsmembuat aplikasi yang akan berjalan tanpa sertifikat HTTPS, untuk mempermudah penerapan.
Perintah cd MyMicroservice akan menempatkan Anda pada direktori aplikasi yang baru dibuat.
Kode yang dihasilkan
Beberapa file dibuat di direktori MyMicroservice, untuk memberi Anda layanan sederhana yang siap dijalankan, termasuk file berikut ini:
Program.csadalah file titik masuk dan berisi semua pengaturan dan konfigurasi yang dimuat saat aplikasi dimulai dan memiliki kode untuk API sederhana yang mengembalikan prakiraan cuaca untuk lima hari ke depan. Ini juga akan memulai aplikasi.MyMycroservice.httpdigunakan untuk menguji proyek ASP.NET Core.MyMicroservice.csprojmenentukan versi .NET yang ditargetkan aplikasi, pustaka apa yang menjadi referensi proyek, dll.- File
launchSettings.jsondi dalam direktoriPropertiesmenentukan pengaturan profil yang berbeda untuk lingkungan pengembangan lokal. Nomor port berkisar antara 5000-5300 secara otomatis ditetapkan pada pembuatan proyek dan disimpan pada file ini.
Kode berikut ini memperlihatkan konten file Program.cs:
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
// Learn more about configuring OpenAPI at https://aka.ms/aspnet/openapi
builder.Services.AddOpenApi();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
app.MapOpenApi();
}
var summaries = new[]
{
"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
};
app.MapGet("/weatherforecast", () =>
{
var forecast = Enumerable.Range(1, 5).Select(index =>
new WeatherForecast
(
DateOnly.FromDateTime(DateTime.Now.AddDays(index)),
Random.Shared.Next(-20, 55),
summaries[Random.Shared.Next(summaries.Length)]
))
.ToArray();
return forecast;
})
.WithName("GetWeatherForecast");
app.Run();
record WeatherForecast(DateOnly Date, int TemperatureC, string? Summary)
{
public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
}Pilih tombol Lanjutkan di bawah ini untuk menuju ke langkah berikutnya.
Ada kesalahan?
Jika Anda menerima pesan yang serupa dengan Templat "ASP.NET Core Web API" tidak dapat dibuat. Gagal membuat templat. Detail: Buka 'C:\Windows\System32\MyMicroservice' ditolak, ubah direktori Anda saat ini ke direktori tempat Anda memiliki izin untuk membuat folder baru dan coba jalankan perintah lagi.
Jika Windows tidak dapat menemukan SDK saat Anda mencoba membuat proyek dan Anda yakin telah menginstal SDK, mesin Anda mungkin memiliki masalah dengan variabel lingkungan PATH. Lihat postingan Stack Overflow ini untuk petunjuk tentang cara mendiagnosis dan memperbaiki masalah ini.
Jika Anda tidak dapat menyelesaikan masalah yang Anda alami, pilih tombol Saya mengalami masalah di bawah untuk mendapatkan bantuan dalam memperbaiki masalah tersebut.
Jalankan layanan Anda
Di prompt perintah Anda, jalankan perintah berikut:
Di terminal Anda, jalankan perintah berikut:
dotnet runAnda akan melihat output yang mirip dengan berikut:
Building...
info: Microsoft.Hosting.Lifetime[14]
Now listening on: http://localhost:5020
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]
Content root path: C:\Users\Ana\MyMicroserviceTunggu hingga aplikasi menampilkan bahwa aplikasi mendengarkan http://localhost:<port number>, lalu buka browser dan buka http://localhost:<port number>/weatherforecast.
Dalam contoh ini, terlihat bahwa ia mendengarkan pada port 5020, sehingga gambar berikut menunjukkan URL localhost:5020/weatherforecast.

Selamat, Anda memiliki layanan sederhana yang berjalan!
Tekan CTRL+C pada perintah untuk mengakhiri perintah dotnet run yang menjalankan layanan secara lokal.
Tekan CTRL+C pada terminal untuk mengakhiri perintah dotnet run yang menjalankan layanan secara lokal.
Ada kesalahan?
Jika Anda menerima pesan seperti Tidak ada halaman web yang ditemukan untuk alamat web: http://localhost:5020, pastikan Anda melihat halaman Prakiraan Cuaca di aplikasi Anda. URL seharusnya terlihat seperti http://localhost:5020/weatherforecast dan bukan hanya http://localhost:5020.
Instal Docker
Docker adalah platform yang memungkinkan Anda menggabungkan aplikasi beserta konfigurasi dan dependensinya menjadi satu unit yang dapat disebarkan secara independen yang disebut kontainer.
Jika sudah menginstal Docker, pastikan Docker versi 23.0.0 atau lebih tinggi.
Unduh dan instal
Anda akan diminta untuk mendaftar ke Docker Store sebelum Anda dapat mengunduh penginstal.
Secara default, Docker akan menggunakan Kontainer Linux di Windows. Biarkan pengaturan konfigurasi ini sebagaimana adanya saat diminta di penginstal.
Setelah menginstal Docker, Anda mungkin diminta untuk keluar untuk menyelesaikan penginstalan.
Periksa apakah Docker siap digunakan
Setelah menginstal, buka prompt perintah baru dan jalankan perintah berikut:
Setelah menginstal, buka terminal baru dan jalankan perintah berikut:
docker --versionJika perintah berjalan, menampilkan beberapa informasi versi, maka Docker berhasil diinstal.
Tambahkan metadata Docker
Untuk menjalankan citra Docker, Anda memerlukan Dockerfile — file teks yang berisi instruksi tentang cara membuat aplikasi Anda sebagai citra Docker. Citra Docker berisi semua yang diperlukan untuk menjalankan aplikasi Anda sebagai kontainer Docker.
Kembali ke direktori aplikasi
Karena anda membuka prompt perintah baru di langkah sebelumnya, Anda harus kembali ke direktori tempat Anda membuat layanan.
Karena Anda membuka terminal baru di langkah sebelumnya, Anda harus kembali ke direktori tempat Anda membuat layanan.
cd MyMicroserviceTambahkan DockerFile
Buat file yang disebut Dockerfile dengan perintah ini:
touch Dockerfilefsutil file createnew Dockerfile 0Anda kemudian dapat membukanya di editor teks favorit Anda.
Anda kemudian dapat membukanya di editor teks favorit Anda secara manual atau dengan perintah ini:
open Dockerfilestart DockerfileGanti konten Dockerfile ke hal berikut di editor teks:
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /src
COPY MyMicroservice.csproj .
RUN dotnet restore
COPY . .
RUN dotnet publish -c release -o /app
FROM mcr.microsoft.com/dotnet/aspnet:8.0
WORKDIR /app
COPY --from=build /app .
ENTRYPOINT ["dotnet", "MyMicroservice.dll"]Catatan: Pastikan untuk menamai file sebagai Dockerfile dan bukan Dockerfile.txt atau nama lainnya.
Opsional: Menambahkan file .dockerignore
File .dockerignore mengurangi kumpulan file yang digunakan sebagai bagian dari 'build docker'. Lebih sedikit file akan menghasilkan build yang lebih cepat.
Buat file bernama file .dockerignore (mirip dengan file .gitignore jika Anda terbiasa dengan file tersebut) dengan perintah ini:
touch .dockerignorefsutil file createnew .dockerignore 0Anda kemudian dapat membukanya di editor teks favorit Anda.
Anda kemudian dapat membukanya di editor teks favorit Anda secara manual atau dengan perintah ini:
open .dockerignorestart .dockerignoreGanti konten .dockerignore ke hal berikut di editor teks:
Dockerfile
[b|B]in
[O|o]bjBuat gambar Docker
Jalankan perintah berikut:
docker build -t mymicroservice .Perintah docker build menggunakan Dockerfile untuk membuat gambar Docker.
- Parameter
-t mymicroservicememberi tahunya untuk memberi tag (atau nama) gambar sebagaimymicroservice. - Parameter akhir memberi tahu direktori mana yang akan digunakan untuk menemukan
Dockerfile(.menentukan direktori saat ini). - Perintah ini akan mengunduh dan membuat semua dependensi untuk membuat gambar Docker dan mungkin memerlukan waktu beberapa saat.
Anda dapat menjalankan perintah berikut untuk melihat daftar semua gambar yang tersedia di komputer Anda, termasuk yang baru saja Anda buat.
docker imagesJalankan gambar Docker
Anda dapat menjalankan aplikasi di kontainer menggunakan perintah berikut:
docker run -it --rm -p 3000:8080 --name mymicroservicecontainer mymicroserviceAnda dapat menelusuri URL berikut untuk mengakses aplikasi yang berjalan dalam kontainer: http://localhost:3000/weatherforecast

Secara opsional, Anda dapat melihat kontainer berjalan di perintah terpisah menggunakan perintah berikut:
Secara opsional, Anda dapat melihat kontainer yang berjalan di jendela terminal terpisah menggunakan perintah berikut:
docker ps
Tekan CTRL+C pada perintah Anda untuk mengakhiri perintah docker run yang menjalankan layanan dalam kontainer.
Tekan CTRL+C di terminal Anda untuk mengakhiri perintah docker run yang menjalankan layanan dalam kontainer.
Selamat! Anda telah berhasil membuat layanan kecil dan independen yang dapat disebarkan dan diskalakan menggunakan kontainer Docker.
Ini adalah blok pembangun dasar microservices.
Ada kesalahan?
Jika Anda menerima pesan yang mirip dengan ERROR: kesalahan selama sambungan: kesalahan ini mungkin menunjukkan bahwa daemon docker tidak berjalan, hal ini mungkin menunjukkan bahwa Anda perlu meluncurkan aplikasi Docker. Periksa apakah klien Docker berjalan dengan menjalankan docker run hello-world. Ini akan menarik dan menjalankan gambar. Untuk bantuan selengkapnya, lihatDokumentasi Docker untuk petunjuk tentang cara mendiagnosis dan memperbaiki masalah ini.
Langkah berikutnya
Selamat! Anda telah membuat layanan sederhana dan kemudian menjalankannya di kontainer Docker.
Sekarang, Anda dapat mempelajari cara menyebarkan layanan mikro Anda ke cloud dengan tutorial kami berikutnya.
Tutorial: Menyebarkan layanan mikro ke Azure
Anda mungkin juga tertarik dengan...