30 lines
1.2 KiB
Plaintext
30 lines
1.2 KiB
Plaintext
# Dockerfile
|
|
|
|
# 1. 베이스 이미지 선택
|
|
# 파이썬 3.10의 가벼운(slim) 버전을 기반으로 시작합니다.
|
|
FROM python:3.10-slim
|
|
|
|
# 2. 작업 디렉토리 설정
|
|
# 컨테이너 내에서 명령어를 실행할 기본 폴더를 설정합니다.
|
|
WORKDIR /workspace
|
|
|
|
# 3. 의존성 파일 복사 및 설치
|
|
# 먼저 의존성 목록 파일을 복사합니다. (이것만 바뀌었을 경우 빌드 속도 향상)
|
|
COPY requirements.txt .
|
|
COPY workspace/ .
|
|
# requirements.txt에 명시된 라이브러리들을 설치합니다.
|
|
# --no-cache-dir 옵션은 불필요한 캐시를 남기지 않아 이미지 크기를 줄여줍니다.
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
COPY workspace/app.py .
|
|
# 4. 앱 소스 코드 복사
|
|
# 현재 폴더의 모든 파일을 컨테이너의 /app 폴더로 복사합니다.
|
|
COPY . .
|
|
|
|
# 5. 포트 노출
|
|
# Streamlit의 기본 포트인 8501을 외부에 노출하도록 설정합니다.
|
|
EXPOSE 8501
|
|
|
|
# 6. 컨테이너 실행 명령어 설정
|
|
# 컨테이너가 시작될 때 실행할 명령어를 정의합니다.
|
|
# --server.address=0.0.0.0 옵션은 컨테이너 외부에서의 접속을 허용하기 위해 필수입니다.
|
|
CMD ["streamlit", "run", "app.py", "--server.port=8501", "--server.address=0.0.0.0"] |