-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Description
✨ 설명
크롤링 파이프라인을 Docker 이미지로 패키징하여, 동일한 환경에서 안정적으로 실행될 수 있도록 이미지 빌드 및 실행 구조를 정비했습니다.
✅ 작업 상세 내용
python:3.9-slim
베이스 이미지 사용- 크롬 및 크롬드라이버 수동 설치
- 프로젝트 의존성(
requirements.txt
) 설치 /crawler
경로에 전체 소스코드 복사- 크론 실행을 위한
cron
및nano
설치 - 크론탭 등록 (
/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 start
후tail -f
로 컨테이너 유지