Skip to content

도커라이징

Justin Yoo edited this page Jun 16, 2018 · 1 revision

시작 전 준비물 확인

Dockerfile 작성

Dockerfile을 생성합니다.

git checkout step-02

Dockerfile에 아래와 같이 입력합니다.

# Get .NET SDK image
FROM microsoft/dotnet:2.1-sdk AS builder

RUN mkdir /functions
COPY . /functions

WORKDIR /functions
RUN dotnet build . -o output

# Get Azure Function runtime image
FROM microsoft/azure-functions-dotnet-core2.0:latest AS runtime

ENV AzureWebJobsScriptRoot=/home/site/wwwroot
COPY --from=builder /functions/output /home/site/wwwroot

도커 커스텀 이미지 빌드 및 실행

아래 명령어를 통해 커스텀 도커 이미지를 생성합니다.

docker build . -t function_app

만들어진 커스텀 도커 이미지가 잘 작동하는지 확인합니다.

docker run -it -p 8000:80 --name [컨테이너 이름] function_app

웹브라우저를 통해 http://localhost:8000/api/test?name=[아무거나]를 입력하고 결과를 확인합니다.

잘 돌아가는지 확인이 끝난 후에는 아래 명령어를 통해 컨테이너를 삭제합니다.

docker rm -f [컨테이너 이름]

도커 허브 배포, 다운로드 및 실행

도커 허브 배포를 위해 형식에 맞게 태깅합니다.

docker tag function_app [계정명]/function_app

도커 허브에 로그인합니다.

docker login -u [계정명] -p [패스워드]

도커 허브에 방금 태깅한 이미지를 배포합니다.

docker push [계정명]/function_app

기존에 로컬에 만들어 두었던 커스텀 이미지는 삭제합니다.

docker rmi -f function_app [계정명]/function_app

도커 허브에 올라간 이미지를 직접 이용해서 컨테이너를 생성합니다.

docker run -it -p 8888:80 --name [컨테이너 이름] [계정명]/function_app

웹브라우저를 통해 http://localhost:8888/api/test?name=[아무거나]를 입력하고 결과를 확인합니다.

잘 돌아가는지 확인이 끝난 후에는 아래 명령어를 통해 컨테이너를 삭제합니다.

docker rmi -f [컨테이너 이름]