Balance-Book 개발기 (9) - Azure 환경에 백엔드 배포 🚀
Balance-Book 개발기 (9) - Azure 환경에 백엔드 배포 🚀
Balance-Book 백엔드 Docker 이미지를 Azure App Service**로 배포하는 과정을 정리했다.
전체 흐름은 Docker 기반 빌드 → Docker Hub 업로드 → Azure에서 이미지 pull → 환경변수 설정 순으로 진행되었다.
1. App Service 생성 🏗️
Azure Portal에서 App Service를 생성할 때 Container 기반으로 설정한다.
주요 구성
- 출시 방식: Docker Container
- 운영 체제: Linux
- 리전: Korea Central
- 플랜: B1 (1.75GB RAM / 1vCPU)
- 도커 이미지 소스: Docker Hub (공개)
🎯 기본 도메인 https://balance-book-backend-xxxxx.azurewebsites.net
2. Azure 전용 Dockerfile 추가 🐳
Azure는 80번 포트로만 연결되므로 별도의 Dockerfile을 구성했다.
Wallet 복원 및 ASP.NET Core 포트 설정도 포함.
📄 Dockerfile.azure
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /src
COPY . ./
WORKDIR /src/BalanceBook
RUN dotnet publish -c Release -o /out
FROM mcr.microsoft.com/dotnet/aspnet:8.0
WORKDIR /app
RUN apt-get update && \
apt-get install -y unzip curl && \
rm -rf /var/lib/apt/lists/*
EXPOSE 80
COPY --from=build /out .
COPY entrypoint_azure.sh .
RUN chmod +x entrypoint_azure.sh
ENTRYPOINT ["./entrypoint_azure.sh"]
📄 entrypoint_azure.sh
1
2
3
#!/bin/bash
export ASPNETCORE_URLS=http://+:80
dotnet BalanceBook.dll
3. Docker Build & Push 과정 🛠️
로컬에서 이미지를 빌드하고 Docker Hub로 push한다.
Azure는 이 이미지를 pull해서 컨테이너로 실행한다.
1
2
docker build -f Dockerfile.azure -t iyabong/balance-book-backend .
docker push iyabong/balance-book-backend
Docker Hub 계정:
iyabong
4. Azure에서 배포 및 테스트 ✅
환경변수는 .env 대신 Azure Portal에서 직접 설정한다.
🔐 등록한 환경변수
- Supabase 연결 관련 변수
- OCI ADB 연결 관련 변수(+BASE64 Encoded Wallet파일)
🔍 테스트 결과
{기본 도메인}/api/card→ 정상 데이터 응답 확인
✅ 향후 계획
- 프론트엔드(Vercel)와 연결
- Docker build & push 자동화(Github Actions)
This post is licensed under CC BY 4.0 by the author.