티스토리 뷰
Docker를 이용한 AI 에이전트 컨테이너화 및 배포
AI 시스템을 개발한 후에는 언제 어디서든 실행할 수 있도록 배포해야 합니다.
이번 글에서는 Docker를 활용하여 CrewAI + FastAPI 기반 AI 에이전트를 컨테이너화하고,
배포하는 방법을 실습합니다.
🔹 1. Docker를 활용한 AI 배포의 필요성
📌 Docker란?
Docker는 애플리케이션을 컨테이너로 패키징하여 실행 환경을 통일할 수 있는 기술입니다.
이를 활용하면 AI 시스템을 어떤 환경에서도 동일하게 실행 가능하게 만들 수 있습니다.
✅ Docker 기반 AI 배포의 장점
- 어떤 서버에서도 동일한 실행 환경 유지
- 설치 과정 없이 실행 가능 (패키지 의존성 해결)
- 클라우드 및 로컬 환경에서 실행 가능
- 배포 및 유지보수 용이 (CI/CD 연동 가능)
✅ Docker를 활용한 AI 시스템 배포 흐름
1️⃣ FastAPI + CrewAI 기반 AI 서비스 개발
2️⃣ Docker 컨테이너로 패키징
3️⃣ 클라우드 (AWS, GCP, Railway) 또는 로컬에서 실행
💡 목표: AI 에이전트를 Docker 컨테이너화하고, 쉽게 배포 및 실행 가능하도록 구성
🔹 2. Docker 환경 설정 및 Dockerfile 작성
✅ 1. Docker 설치 확인
Docker가 설치되어 있는지 확인합니다.
docker --version
✅ 설치되지 않았다면 공식 사이트에서 다운로드:
👉 Docker 공식 다운로드
✅ 2. 프로젝트 폴더 구조
ai-agent-project/
│── app/
│ ├── main.py # FastAPI 서버 실행 파일
│ ├── crewai_agent.py # CrewAI 기반 AI 에이전트 설정
│── Dockerfile # Docker 컨테이너 설정 파일
│── requirements.txt # Python 패키지 목록
│── .dockerignore # Docker 빌드 제외 파일
✅ 3. requirements.txt 생성
FastAPI 및 CrewAI 관련 패키지를 정리합니다.
fastapi
uvicorn
crewai
ollama
✅ 4. Dockerfile 작성 (AI 컨테이너 설정)
🔹 Dockerfile (FastAPI + CrewAI 환경 설정)
# 베이스 이미지 설정 (Python 3.12 사용)
FROM python:3.12
# 작업 디렉토리 생성
WORKDIR /app
# 필수 패키지 설치
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# 앱 코드 복사
COPY . .
# FastAPI 서버 실행
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
✅ 이 Dockerfile의 주요 역할
- Python 3.12 환경을 사용
- 필요한 패키지(requirements.txt)를 설치
- FastAPI 서버 실행
🔹 3. Docker 컨테이너 빌드 및 실행
✅ 1. Docker 이미지 빌드
docker build -t ai-agent .
✅ 빌드 성공 예제
Successfully built ai-agent
✅ 2. Docker 컨테이너 실행
docker run -p 8000:8000 ai-agent
✅ 실행 결과
- AI API가 http://localhost:8000에서 실행됨
- React 프론트엔드와 연동 가능
✅ 3. 실행 중인 컨테이너 확인
docker ps
✅ 컨테이너 중지
docker stop <컨테이너_ID>
🔹 4. Docker 컨테이너를 클라우드에 배포
✅ 1. Docker Hub에 업로드
클라우드에서 실행하려면 Docker Hub 또는 클라우드 서비스를 활용합니다.
🔹 Docker Hub 로그인
docker login
🔹 Docker Hub에 이미지 푸시
docker tag ai-agent mydockerhub/ai-agent
docker push mydockerhub/ai-agent
✅ Docker Hub에서 실행 가능
docker run -p 8000:8000 mydockerhub/ai-agent
✅ 2. Railway에 배포 (서버리스 환경)
Railway는 Docker 기반 배포를 지원하는 클라우드 플랫폼입니다.
🔹 Railway CLI 설치 및 로그인
npm install -g railway
railway login
🔹 Railway에 Docker 컨테이너 배포
railway up
📌 배포 후 생성된 URL에서 AI API 실행 가능!
🎯 5. Docker 기반 AI 배포 정리
✅ Docker를 활용하면 AI 시스템을 컨테이너로 패키징할 수 있다.
✅ FastAPI + CrewAI를 Docker로 배포하면 어디서든 실행 가능하다.
✅ Docker Hub 또는 Railway를 활용하여 쉽게 클라우드에 배포 가능하다.
✅ React 프론트엔드와 연동하면 AI 웹 서비스 구축이 가능하다.
🚀 다음 글 미리보기:
👉 "Ollama 기반 AI 에이전트 성능 최적화 및 유지보수"
👉 AI 시스템의 속도를 개선하고, 유지보수 전략을 배워봅니다.
'study > ai prompt' 카테고리의 다른 글
Manus 스타일 AI 시스템 완성 및 최종 테스트 (0) | 2025.03.17 |
---|---|
Ollama 기반 AI 에이전트 성능 최적화 및 유지보수 (0) | 2025.03.17 |
AI 에이전트의 웹 인터페이스 구축 - 실시간 대화 시스템 개발 (0) | 2025.03.16 |
AI 자동화 시스템 구축 - 크롤링 및 데이터 분석 AI (0) | 2025.03.16 |
AI 기억력 추가하기 - 세션 기반 대화 관리 (0) | 2025.03.16 |
- Total
- Today
- Yesterday
- 웹개발
- fastapi
- 개발블로그
- 백엔드
- kotlin
- 프론트엔드
- Ktor
- nodejs
- rag
- 관리자
- CI/CD
- Webpack
- gatsbyjs
- NestJS
- Next.js
- SEO최적화
- LangChain
- nextJS
- 스마트 컨트랙트
- AI 자동화
- PostgreSQL
- github
- REACT
- Docker
- App Router
- Prisma
- 백엔드개발
- seo 최적화 10개
- llm
- AI챗봇
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |