pip
과 함께 설치된 종속성이 필요한 Python 응용 프로그램의 개발 환경을 유지 관리하고자합니다.Docker 및 pip 요구 사항
git repo에서 도커 볼륨으로 마운트 된 호스트 폴더로 소스 코드 (예 : requirements.txt
)를 가져갈 계획입니다.
도서관을 최신 상태로 유지하면서도 모든 git pull
과 함께 비싼 pip install -r requirements.txt
을 피하는 도커 패턴이 있습니까?
pip
과 함께 설치된 종속성이 필요한 Python 응용 프로그램의 개발 환경을 유지 관리하고자합니다.Docker 및 pip 요구 사항
git repo에서 도커 볼륨으로 마운트 된 호스트 폴더로 소스 코드 (예 : requirements.txt
)를 가져갈 계획입니다.
도서관을 최신 상태로 유지하면서도 모든 git pull
과 함께 비싼 pip install -r requirements.txt
을 피하는 도커 패턴이 있습니까?
매번 설치하지 않으려면 전체 repo를 열기 전에 RUN
별도의 pip install
명령을 사용해야합니다. 당신이 컨테이너로 requirements.txt
를 얻기 위해 다른 방법이 필요합니다 그렇게하려면 - 전체 원격 URL 지정, 어쩌면 ADD
로 :
ADD https://raw.githubusercontent.com/etc/requirements.txt .
RUN pip install -r requirements.txt
을 때 docker build
이, requirements.txt
의 내용이 변경되지 않은 경우 다음 설치된 모든 종속성이있는 캐시 된 계층이 사용됩니다. 요구 사항 파일이 변경되면 설치가 다시 실행됩니다.
이와 같이하면 요구 사항 파일에 특정 버전이 필요하므로 버전 범프를 수동으로 업데이트해야합니다.
그러나이 방법은 각'git pull '후에 로컬 컴퓨터에서 이미지를'docker build'할 필요가 없으며,'pip install'을 수행하고 10-15 분 기다렸다가 작업을 계속할 수 있습니다 ? 물론,'requirements.txt'가 변경되지 않으면, 이미지는 변경되지 않고 남아있어 디스크 공간을 절약 할 수 있습니다; 그러나'git pull' 후에 대기 시간을 피하기를 바랬습니다. – max
그래서 어떤 솔루션을 찾고 계십니까? "권장 사항"또는 "우수 사례"를 묻는 질문은 종종 "너무 광범위하게"닫힙니다. –
@ BurhanKhalid 내 질문을 수정했습니다. 지금은 그다지 광범위하지 않기를 바랍니다. – max
대부분 Docker 컨테이너에 파이썬 종속성을 설치하고 이미지로 유지해야합니다. 레포를 당길 때마다 최신 (또는 관련이있는) Docker 이미지를 가져 와서 같은 이미지로 작성된 컨테이너에 올려 놓습니다. 종속성이 업데이트 될 때 컨테이너를 수동으로 계속 업데이트해야합니다. 모든 푸시에 대해 이미지를 빌드 할 수 있도록 빌드 프로세스에서이를 유지하면 도움이 될 수 있습니다. – activatedgeek