피드로 돌아가기
44BITS44BITS
DevOps

도커 컨테이너 5분 만에 무료로 배포하기(feat. fly.io)

fly.io가 Docker 이미지 배포 자동화로 5분 내 배포 및 10초 이내 업데이트 실현

raccoonyy2022년 8월 1일12beginner

Context

AWS EKS/ECS, GCP GKE/Cloud Run, Azure AKS 같은 관리형 Docker 배포 시스템은 Docker 지식 외에 학습해야 할 복잡한 설정과 운영 개념이 많아 진입 장벽이 높다.

Technical Solution

  • fly.toml 설정 파일 작성: 앱 이름, 리전 선택, Docker 이미지 지정, 포트 설정을 선언적으로 정의
  • flyctl CLI 도구 활용: 로컬 환경에서 flyctl launch로 초기 설정 자동 생성, flyctl deploy로 배포 실행
  • Docker 이미지 지정: 공개 이미지(nginx, ghost:5) 직접 사용 또는 Dockerfile을 통한 커스텀 이미지 빌드
  • Dockerfile 기반 배포: FROM 기본 이미지 선택 후 COPY 명령어로 파일 추가하는 간단한 다단계 구성
  • fly.io 볼륨 마운트: flyctl volume create로 지속성 저장소 생성 후 fly.toml [mounts] 섹션에서 컨테이너 경로와 연결

Impact

  • 초기 배포 소요 시간: 5분
  • 이후 업데이트 소요 시간: 10초 미만
  • 무료 티어 볼륨: 3GB 기본 할당

Key Takeaway

Docker 이미지 배포를 5분 이내로 단순화한 fly.io의 설계에서 복잡한 인프라 추상화와 선언적 설정이 얼마나 빠른 반복 배포를 가능하게 하는지 확인할 수 있으며, 소규모 팀이나 학습 단계에서는 선택지를 줄인 플랫폼이 초기 생산성을 극대화함을 보여준다.


Docker 컨테이너를 개발 단계에서 검증하려는 엔지니어나 소규모 프로젝트를 운영하는 팀에서 fly.io의 flyctl 도구를 사용하면 AWS/GCP 같은 관리형 서비스의 복잡한 설정 없이 Dockerfile과 fly.toml 2개 파일만으로 10초 수준의 반복 배포 사이클을 확보할 수 있다.

원문 읽기