본문 바로가기

Programming/asp.net core

Docker 에서 asp.net core 구동

Docker 에서 asp.net core 활용

서버에 Docker가 이미 설치되어있다고 간주하고 시작하도록 한다.

Dockerfile 생성

이미지를 생성할 폴더를 만든다

$ mkdir helloworld
$ cd helloworld
$ nano Dockerfile

다음의 내용을 파일명 Dockerfile 을 생성하여 붙여 넣는다.

————————————————————————————————————————————
# 기본이미지를 ms에서 가져온다
FROM microsoft/dotnet

# git 설치
RUN apt-get install git -y

# 소스코드를 넣을 폴더 생성
RUN mkdir repositories

# 작업 폴더로 설정
WORKDIR repositories

# git에서 소스 가져오기
RUN git clone https://github.com/cmendible/aspnet-core-helloworld.git

# 작업 폴더로 설정
WORKDIR aspnet-core-helloworld/src/dotnetstarter

# 5000 포트를 개방    
EXPOSE 5000

# nuget 패키지로 페키지 업데이트
RUN dotnet restore

# dot net 시작
ENTRYPOINT dotnet run
————————————————————————————————————————————

Docker 이미지 생성

Docker 이미지 생성
$ sudo docker build -t hello_world .

생성된 이미지를 확인한다
$ sudo docker image

hello_world가 생성된 것을 확인 할 수 있다 Docker Image

이미지 테스트

생성된 이미지를 이용하여 컨테이너 생성을 테스트한다. 또한 컨테이너의 5000 포트를 호스트의 5000 포트와 연결한다
$ sudo docker run -it -p 5000:5000 hello_world

컨테이너 생성

컨테이너를 데몬 프로세스로서 실행시킨다.
$ sudo docker run -t -d -p 5000:5000 hello_world