FROM python:3.10-slim # 1. 필수 패키지 설치 RUN apt-get update && apt-get install -y \ build-essential \ curl \ git \ libgl1-mesa-dev \ libgl1 \ libglew-dev \ libosmesa6-dev \ patchelf \ && rm -rf /var/lib/apt/lists/* # 2. [핵심] 라이브러리 경로 환경변수 추가 (이게 없어서 못 찾는 것일 수 있음) ENV LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:/usr/lib:$LD_LIBRARY_PATH ENV MUJOCO_GL=osmesa ENV PYOPENGL_PLATFORM=osmesa # 3. [핵심] 심볼릭 링크 (대소문자 이슈 방지 위해 두 가지 이름으로 다 생성) RUN ln -s /usr/lib/x86_64-linux-gnu/libOSMesa.so.8 /usr/lib/libOSMesa.so || true RUN ln -s /usr/lib/x86_64-linux-gnu/libOSMesa.so.8 /usr/lib/libosmesa.so || true WORKDIR /app COPY requirements.txt ./ RUN pip install --no-cache-dir -r requirements.txt COPY . . # 4. 실행 명령 CMD ["streamlit", "run", "src/streamlit_app.py", \ "--server.address=0.0.0.0", \ "--server.port=7860", \ "--server.enableCORS=false", \ "--server.enableXsrfProtection=false", \ "--server.headless=true"]