반응형
asp.net core 도커 개발환경 구성하기
1. 비쥬얼 스튜디오 2022 를 이용하여 asp.net core 어플리케이션 만들기
Visual Studio Community 다운로드 후 설치
ASP.NET Core 웹앱 MVC 프로젝트를 생성합니다.
.net core 7.0 프레임워크를 기준으로 합니다. 환경에 맞는 프레임워크를 선택합니다.
일단 Docker 사용은 선택하지 않습니다.( docker 선택시 자동으로 Dockerfile 이 생성)
프로젝트 생성후 F5 로 실행 후 정상적으로 호스팅 되는것을 확인
2. 윈도우용 도커 데스크탑 다운로드 후 설치
https://www.docker.com/get-started/
도커 데스크탑 실행 화면
도커로 빌드를 하기 위해서는 Dockerfile 을 만들어 줘야 한다.
* 솔루션탐색기 > 마우스 우클릭 >추가> 도커지원을 클릭
도커 지원 자동으로 프로젝트 파일에 도커파일이 생성됨
솔루션 폴더 Dockerfile 을 생성
Dockerfile 을 작성
FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:7.0 AS build
ARG TARGETARCH
WORKDIR /source
# copy csproj and restore as distinct layers
COPY aspnetcoremvc/*.csproj .
RUN dotnet restore -a $TARGETARCH
# copy and publish app and libraries
COPY aspnetcoremvc/. .
RUN dotnet publish -a $TARGETARCH --no-restore -o /app
# final stage/image
FROM mcr.microsoft.com/dotnet/aspnet:7.0
WORKDIR /app
COPY --from=build /app .
USER $APP_UID
ENTRYPOINT ["./aspnetcoremvc"]
3. 도커로 이미지 빌드하기
cmd 창을 실행 후 Dockerfile 이 있는 경로로 이동
도커 빌드 명령어 실행 및 생성된 이미지 확인
docker build -t aspnetmvc .
4. 도커 컨테이너 실행
docker run -it --rm -p 9999:80 --name dockermvc aspnetmvc
브라우저에서 9999 포트로 호스팅 확인
도커 란?
* 도커 명령어 모음
멀티 프로젝트 (서비스 프로젝트 등) 솔루션의 도커 파일 구성 하기
Dockerfile
# https://hub.docker.com/_/microsoft-dotnet
FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
WORKDIR /source
# copy csproj and restore as distinct layers
COPY aspnetcoremvc/*.csproj aspnetcoremvc/
COPY MvcService/*.csproj MvcService/
RUN dotnet restore aspnetcoremvc/aspnetcoremvc.csproj
# copy and build app and libraries
COPY aspnetcoremvc/ aspnetcoremvc/
COPY MvcService/ MvcService/
FROM build AS publish
WORKDIR /source/aspnetcoremvc
RUN dotnet publish --no-restore -o /app
# final stage/image
FROM mcr.microsoft.com/dotnet/aspnet:7.0
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "aspnetcoremvc.dll"]
-- 이미지 빌드
반응형
'Server > 도커(Docker)' 카테고리의 다른 글
[nginx] NginX로 도커(Docker) 컨테이너 로드밸런싱 (0) | 2023.10.27 |
---|