Ubuntu에서 Net Core 웹 API를 Docker화합니다.

나는 webapi 또는 mvc 앱과 같은 .net 코어에서 간단한 애플리케이션을 만드는 방법을 알고 있을 뿐만 아니라 Ubuntu 또는 Mac과 같은 운영 체제에서 이러한 유형의 애플리케이션을 배포하는 방법을 이해하는 대부분의 개발자에게 얼마나 중요한지에 대해 매료되었습니다. .

이 게시물의 목적은 .net 코어에 내장된 webapi 애플리케이션의 간단한 예제를 통해 Ubuntu에서 이를 달성하는 것이 얼마나 쉬운지 보여주기 위한 것입니다.

먼저 도커란?



Virtualbox 또는 Vmware와 같은 가상 머신을 사용하여 컴퓨터에서 운영 체제 버전을 실행한 적이 있다면 Docker가 유사하다는 것을 알 수 있지만 Docker는 응용 프로그램을 실행하기 위해 전체 운영 체제를 생성하지 않습니다. 운영 체제를 계속 사용하고 추가로 이 앱이 적절하게 작동하는 데 필요한 모든 종속성을 캡슐화하는 컨테이너에서 애플리케이션을 실행할 수 있습니다.

Docker is an open source tool designed to make it easier to create, deploy and run applications by using containers, so the applicatioon is going to be encapsulated in a packages that contains all the libraries and dependencies required.



코딩합시다.

1단계: 리포지토리 복제




sudo git clone https://github.com/ricardojavister/net-core-api.git


그리고 "deploy-net-core-with-docker"라는 새 브랜치를 생성합니다.

sudo git checkout -b deploy-net-core-with-docker

sudo dotnet restore

sudo dotnet build

sudo dotnet run


브라우저에 입력하십시오http://localhost:8080/swagger/index.html.

다음과 같은 페이지가 표시됩니다.



2단계: Ubuntu에 Docker 설치




sudo apt-get update

sudo apt-get remove docker docker-engine docker.io

sudo apt install docker.io

sudo systemctl start docker

sudo systemctl enable docker

docker --version


3단계: 도커 파일 만들기



이 파일에는 Linux에서 적절하게 배포하는 데 필요한 모든 설정이 포함됩니다.


FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env
WORKDIR /app

# Copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore

# Copy everything else and build
COPY . ./
RUN dotnet publish -c Release -o out

# Build runtime image
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
WORKDIR /app
EXPOSE 80
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "crudstore.dll"]



4단계: .dockerignore라는 무시 파일 만들기



그리고 그 안에 다음 줄을 넣으십시오.

bin/
obj/


5단계: Docker를 사용하여 애플리케이션 게시



다음 명령을 실행하여 애플리케이션을 실행하고 배포합니다.


sudo docker build -t crudstore .





sudo docker run -p 8080:80 crudstore




이제 브라우저http://localhost:8080/swagger/index.html에 입력하고 완료할 수 있습니다.

이 코드를 즐기시기 바랍니다!

Download this code for Github

그게 다야! 의심스러운 점이 있으면 주저하지 말고 의견을 남기거나 를 통해 저에게 질문하십시오.

좋은 웹페이지 즐겨찾기