-
Notifications
You must be signed in to change notification settings - Fork 21
도커라이징
Justin Yoo edited this page Jun 16, 2018
·
1 revision
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 [컨테이너 이름]