Apple M1 또는 M2 칩이 있는 Mac을 사용하는 경우 Arm64 버전의 SDK를 설치해야 합니다.
올바르게 설치된 모든 것을 확인하세요
설치한 후 새 명령 프롬프트를 열고 다음 명령을 실행합니다.
설치한 후 새 터미널을 열고 다음 명령을 실행합니다.
Terminal
dotnet --version
설치에 성공한 경우 버전 8.0.100 이상이 출력되어야 합니다.
Command prompt
8.0.100
모든 것이 정상이면 아래의 계속 버튼을 선택하여 다음 단계로 이동합니다.
오류가 있나요?
'dotnet'이 내부 또는 외부 명령 오류로 인식되지 않는 경우 새 명령 프롬프트를 열어야 합니다. 컴퓨터를 빠르게 다시 시작해도 문제를 해결할 수 없는 경우 문제가 발생했습니다 버튼을 사용하여 문제 해결에 도움을 받으세요.
서비스 만들기
명령 프롬프트에서 다음 명령을 실행하여 앱을 만듭니다.
터미널에서 다음 명령을 실행하여 앱을 만듭니다.
Terminal
dotnet new webapi -o MyMicroservice --no-https
그런 다음 이전 명령으로 만든 새 디렉터리로 이동합니다.
Terminal
cd MyMicroservice
이러한 명령은 무엇을 의미하나요?
dotnet 명령은 webapi 유형의 새 애플리케이션(REST API 엔드포인트)을 만듭니다.
-o 매개 변수는 앱이 저장되는 MyMicroservice라는 디렉터리를 생성합니다.
--no-https 플래그는 배포를 간단하게 유지하기 위해 HTTPS 인증서 없이 실행되는 앱을 만듭니다.
cd MyMicroservice 명령은 새로 만든 앱 디렉터리에 사용자를 배치합니다.
생성된 코드
실행할 준비가 된 간단한 서비스를 제공하기 위해 다음 파일을 비롯해 MyMicroservice 디렉터리에 여러 파일이 생성되었습니다.
Program.cs는 진입점 파일이며 앱을 시작할 때 로드하는 모든 설정과 구성을 포함하고 향후 5일 동안의 일기 예보를 반환하는 간단한 API에 대한 코드를 포함합니다. 응용 프로그램도 시작합니다.
MyMycroservice.http는 ASP.NET Core 프로젝트를 테스트하는 데 사용됩니다.
MyMicroservice.csproj는 앱이 대상으로 하는 .NET 버전, 프로젝트에서 참조하는 라이브러리 등을 정의합니다.
Properties 디렉터리 내의 launchSettings.json 파일은 로컬 개발 환경에 대한 다양한 프로필 설정을 정의합니다. 5000-5300 사이의 포트 번호는 프로젝트 생성 시 자동으로 할당되어 이 파일에 저장됩니다.
다음 코드는 Program.cs 파일의 내용을 표시합니다.
Program.cs
var builder = WebApplication.CreateBuilder(args);// Add services to the container.// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbucklebuilder.Services.AddEndpointsApiExplorer();builder.Services.AddSwaggerGen();var app = builder.Build();// Configure the HTTP request pipeline.if (app.Environment.IsDevelopment()){ app.UseSwagger(); app.UseSwaggerUI();}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").WithOpenApi();app.Run();record WeatherForecast(DateOnly Date, int TemperatureC, string? Summary){ public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);}
다음 단계로 이동하려면 아래의 계속 버튼을 선택하세요.
오류가 있나요?
템플릿 "ASP.NET Core Web API"를 만들 수 없습니다. 템플릿을 만들지 못했습니다. 세부 정보: 'C:\Windows\System32\MyMicroservice' 경로에 대한 액세스가 거부되었습니다와 비슷한 메시지를 받으면 현재 디렉터리를 새 폴더를 만들 수 있는 권한이 있는 디렉터리로 변경하고 명령을 다시 실행해 보세요.
프로젝트를 만들려고 할 때 Windows에서 SDK를 찾을 수 없고 SDK를 설치했다고 확신하는 경우 컴퓨터에 PATH 환경 변수에 문제가 있을 수 있습니다. 이 문제를 진단하고 수정하는 방법에 대한 지침은 이 Stack Overflow 게시물을 참조하세요.
발생한 문제를 해결할 수 없는 경우 문제 해결에 대한 도움말을 보려면 아래에 있는 문제가 발생했습니다 버튼을 선택하세요.
서비스 실행
명령 프롬프트에서 다음 명령을 실행합니다.
터미널에서 다음 명령을 실행합니다.
Terminal
dotnet run
다음과 유사한 출력이 표시되어야 합니다.
Command prompt
Building...info: Microsoft.Hosting.Lifetime[14]Now listening on: http://localhost:5020info: Microsoft.Hosting.Lifetime[0]Application started. Press Ctrl+C to shut down.info: Microsoft.Hosting.Lifetime[0]Hosting environment: Developmentinfo: Microsoft.Hosting.Lifetime[0]Content root path: C:\Users\Ana\MyMicroservice
앱에 http://localhost:<port number>에서 수신 대기 중이라고 표시될 때까지 기다린 다음 브라우저를 열고 http://localhost:<port number>/weatherforecast로 이동합니다.
이 예에서는 포트 5020에서 수신 대기 중임을 나타내므로 다음 이미지는 localhost:5020/weatherforecast URL을 표시합니다.
축하합니다. 간단한 서비스가 실행되었습니다!
명령 프롬프트에서 CTRL+C를 눌러 서비스를 로컬로 실행하는 dotnet run 명령을 종료합니다.
터미널에서 CTRL+C를 눌러 서비스를 로컬로 실행하는 dotnet run 명령을 종료합니다.
오류가 있나요?
http://localhost:5020 웹 주소에 대한 웹 페이지를 찾을 수 없음과 유사한 메시지를 받는 경우 애플리케이션의 날씨 예보 페이지를 보고 있는지 확인합니다. URL은 http://localhost:5020이 아니라 http://localhost:5020/weatherforecast여야 합니다.
Docker 설치
Docker는 앱과 해당 구성 및 종속성을 컨테이너라는 독립적으로 배포 가능한 단일 단위로 결합할 수 있는 플랫폼입니다.
Docker가 이미 설치되어 있는 경우 버전 23.0.0 이상인지 확인하세요.
다운로드 및 설치
설치 관리자를 다운로드하기 전에 Docker Store에 등록하라는 메시지가 표시됩니다.
기본적으로 Docker는 Windows에서 Linux 컨테이너를 사용합니다. 설치 프로그램에 메시지가 표시되면 이 구성 설정을 그대로 두세요.
마지막 매개 변수는 Dockerfile을 찾는 데 사용할 디렉터리를 알려줍니다(.는 현재 디렉터리를 지정함).
이 명령은 Docker 이미지를 생성하기 위해 모든 종속성을 다운로드하고 빌드하며 시간이 걸릴 수 있습니다.
다음 명령을 실행하여 방금 만든 이미지를 포함하여 컴퓨터에서 사용 가능한 모든 이미지 목록을 볼 수 있습니다.
Terminal
docker images
Docker 이미지 실행
다음 명령을 사용하여 컨테이너에서 앱을 실행할 수 있습니다.
Terminal
docker run -it --rm -p 3000:8080 --name mymicroservicecontainer mymicroservice
다음 URL로 이동하여 컨테이너에서 실행 중인 애플리케이션에 액세스할 수 있습니다. http://localhost:3000/weatherforecast
선택적으로 다음 명령을 사용하여 별도의 명령 프롬프트에서 실행 중인 컨테이너를 볼 수 있습니다.
선택적으로 다음 명령을 사용하여 별도의 터미널 창에서 실행 중인 컨테이너를 볼 수 있습니다.
Terminal
docker ps
명령 프롬프트에서 CTRL+C를 눌러 컨테이너에서 서비스를 실행하는 docker run 명령을 종료합니다.
터미널에서 CTRL+C를 눌러 컨테이너에서 서비스를 실행하는 docker run 명령을 종료합니다.
축하합니다! Docker 컨테이너를 사용하여 배포 및 확장할 수 있는 소규모 독립 서비스를 성공적으로 만들었습니다.
마이크로 서비스의 기본 빌딩 블록입니다.
오류가 있나요?
오류: 연결 중 오류: 이 오류는 docker 디먼이 실행되고 있지 않음을 나타낼 수 있음과 유사한 메시지를 받는 경우 Docker 애플리케이션을 시작해야 할 수 있습니다. Docker 클라이언트가 docker run hello-world를 실행하여 실행 중인지 확인합니다. 이렇게 하면 이미지를 끌어오고 실행합니다. 도움이 더 필요하다면 Docker 설명서에서 이 문제를 진단하고 해결하는 방법에 대한 지침을 참조하세요.