Skip to content

크롤링 파이프라인 Docker 이미지 패키징 #59

@buhyun1

Description

@buhyun1

✨ 설명

크롤링 파이프라인을 Docker 이미지로 패키징하여, 동일한 환경에서 안정적으로 실행될 수 있도록 이미지 빌드 및 실행 구조를 정비했습니다.


✅ 작업 상세 내용

  • python:3.9-slim 베이스 이미지 사용
  • 크롬 및 크롬드라이버 수동 설치
  • 프로젝트 의존성(requirements.txt) 설치
  • /crawler 경로에 전체 소스코드 복사
  • 크론 실행을 위한 cronnano 설치
  • 크론탭 등록 (/etc/cron.d/daily-crawler-cron)
  • 엔트리포인트 스크립트(docker-entrypoint.sh)에서 크론 실행 및 대기 처리
  • 크롬 세션 충돌 방지를 위해 -user-data-dir 경로를 동적으로 생성하도록 Python 코드 수정
  • docker buildx build --platform linux/amd64 --load 명령어로 M1 환경 대응

📚 기능의 필요성 (선택)

  • Python/Selenium/Chrome 기반의 크롤러가 서버 환경에서도 동일하게 동작해야 함
  • 패키지/환경 충돌 없이 실행 가능하도록 컨테이너 기반 실행 환경 필요
  • 일일 자동 크롤링을 위해 cron 기반 스케줄링 필요
  • CI/CD 또는 배포 자동화를 위한 이미지 태깅 및 registry push 준비

🛠️ 예상 구현 방법 (선택)

  • Dockerfile을 통해 환경 구성 자동화
  • buildx를 활용한 cross-platform 이미지 빌드 (-platform linux/amd64)
  • Docker Hub 등 이미지 저장소 연동 시 -push 사용 고려
  • cron 스케줄은 host 의존성이 없도록 /etc/cron.d/에 직접 등록
  • docker-entrypoint.sh에서 service cron starttail -f로 컨테이너 유지

Metadata

Metadata

Assignees

Labels

AI과정명 표시✨feature새로운 기능 제안

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions