files
simple-auto_browsing/backup/Dockerfile
2025-10-14 17:58:58 +09:00

71 lines
1.6 KiB
Docker

# 1. 베이스 이미지 선택 (Node.js 22 버전)
FROM node:22-slim
# 2. Puppeteer 실행에 필요한 모든 시스템 의존성 라이브러리 설치 (완벽 버전)
RUN apt-get update && apt-get install -y \
# Puppeteer Core Dependencies
ca-certificates \
fonts-liberation \
libasound2 \
libatk-bridge2.0-0 \
libatk1.0-0 \
libcairo2 \
libcups2 \
libdbus-1-3 \
libexpat1 \
libfontconfig1 \
libgbm1 \
libgcc1 \
libgconf-2-4 \
libgdk-pixbuf2.0-0 \
libglib2.0-0 \
libgtk-3-0 \
libnspr4 \
libnss3 \
libpango-1.0-0 \
libpangocairo-1.0-0 \
libstdc++6 \
libx11-6 \
libx11-xcb1 \
libxcb1 \
libxcomposite1 \
libxcursor1 \
libxdamage1 \
libxext6 \
libxfixes3 \
libxi6 \
libxrandr2 \
libxrender1 \
libxss1 \
libxtst6 \
lsb-release \
wget \
xdg-utils \
# Tesseract OCR
tesseract-ocr \
tesseract-ocr-eng \
--no-install-recommends --quiet && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# 3. 작업 폴더 생성 및 지정
WORKDIR /app
# 4. package.json과 package-lock.json을 먼저 복사
COPY package*.json ./
# 5. 의존성 설치
RUN npm install
# 6. 소스 코드 복사
COPY . .
# 7. entrypoint 스크립트를 복사하고 실행 권한 부여
COPY docker-entrypoint.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
# 8. 컨테이너의 진입점으로 entrypoint 스크립트 지정
ENTRYPOINT ["docker-entrypoint.sh"]
# 9. entrypoint에 전달될 기본 명령어 (메인 애플리케이션)
CMD [ "node", "index.js" ]