[Docker compose - Postgres 설정] 부팅 이슈 해결하기 (Internship : Infra)
·
DevOps/Docker
환경 일관성과 데이터 관리의 용이성 때문에 온프레미스로 구현되고 있는 서비스의 서버에 database 를 Docker 를 이용하여 배포하고 운영하고 있습니다. 해당 Postgres 의 컴포즈 파일을 설정하다가, 계속적인 부팅 이슈가 발생하길래 그것을 수정하여 개선해보려 합니다. postgres: image: ${POSTGRES_IMAGE:-postgres:15} container_name: ${POSTGRES_SERVICE_NAME:-postgres} env_file: .env.postgres ports: - "${POSTGRES_PORT:-5432}:5432" volumes: - ${ROOT_HOST}/postgres-data:/var/lib/postg..
[docker-compose]온프레미스 환경에서 Docker Compose로 서비스 구성하기
·
DevOps/Docker
이번 글은 온프레미스(on-premise) 환경에서 Docker Compose를 사용해 여러 서비스를 하나의 시스템으로 구성하면서 겪었던 실제 시행착오와 설계 결정을 정리한 기록입니다! 구성한 시스템은 다음과 같음.Next.js (프론트엔드)Spring Boot APIFastAPI (AI / OCR / Chat)PostgreSQLQdrant (Vector DB)vLLM (GPU 기반 LLM Inference)특히 이번 환경은 온디맨드 서버 제공형이라서버가 항상 켜져 있지 않고필요할 때만 기동했다가 종료되며별도 로드밸런서(Nginx 등)를 두지 않는 구조라는 제약이 있었음. 이 글에서는 아래 내용을 중심으로 정리하려 합니다.포트는 어떻게 열고 맞췄는지Docker 네트워크를 왜 하나로 묶었는지Nginx 없..
[BuildX & 서버 이전] FastAPI + PaddleOCR 서버 이전기: "exec format error"와 Docker Buildx 완벽 가이드
·
DevOps/Docker
PaddleOCR과 같은 딥러닝 라이브러리는 C++로 컴파일된 바이너리에 의존하기 때문에 CPU 아키텍처(x86 vs ARM)에 매우 민감합니다. 이 점을 강조하며 docker buildx가 왜 필요한지 실무에서 발생했던 문제 상황을 어떻게 해결했는지 정리했습니다. 최근 회사에서 운영 중인 RAG(Retrieval-Augmented Generation) 서비스를 위해 FastAPI와 PaddleOCR을 사용한 OCR 서버를 Docker 컨테이너로 띄워 사용하고 있었습니다.서비스가 안정화되면서 서버를 이전해야 할 일이 생겼는데, 여기서 예상치 못한 치명적인 문제가 발생했습니다."기존 서버(Intel/AMD)에서 잘 돌아가던 도커 이미지가, 새 서버(ARM/AWS Graviton/Mac M1 등)에서는 실행..