Ubuntu에서 Net Core 웹 API를 Docker화합니다.
이 게시물의 목적은 .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
그게 다야! 의심스러운 점이 있으면 주저하지 말고 의견을 남기거나 를 통해 저에게 질문하십시오.
Reference
이 문제에 관하여(Ubuntu에서 Net Core 웹 API를 Docker화합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ricardojvtorres/dockerize-a-net-core-web-api-in-ubuntu-44b0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)