본문 바로가기

TIL/잡다한

[TIL] docker환경 conda, pip cache 사용방법

반응형

파이프라인에서 간혹 인터넷 이슈로 conda패키지가 설치가 안되는 문제가 있어서, 혹시 cache를 활용하게끔 환경을 만들면 좋지않을까 해서 작업을 진행했다. 추가로 conda install에 시간이 오래걸리는것도 없지않아 있어서 이를 개선하기 위한 작업도 포함되어있다.

 

현재 환경은 docker container안에서 conda env yaml를 통해서 install하는 방식으로 되어있는데 이안에 pip 패키지도 포함되어있어서 conda 뿐만이 아닌 pip 도 cache를 사용하게끔 만들고 싶었다.

 

먼저 conda 에 대한 작업 과정이다.

conda 같은 경우에는 아래와같은 명령어로 현재 어느 경로에 cache가 저장되는지 확인이 가능하다. package cache부분 정보를 확인하면 된다.

conda info
'출력
...
	package cache : /root/anaconda3/pkgs
                    /root/.conda/pkgs
...
'

 

즉, docker container실행을 할때 저 두개 경로중 하나를 local환경에 존재하는 어느 경로에 mount해주면 매번 docker container실행시 해당 캐시를 사용하게끔 만들수 있다.

  • ex. docker run ... -v /home/jaeyunglee/build_cache/conda_cache:/root/.conda/pkgs

다음은 pip 에 대한 작업 과정이다.

pip 같은 경우에는 특정 버전(20.1) 이상부터 아래와같은 명령어를 제공한다.

https://pip.pypa.io/en/stable/topics/caching/#pip-cache-dir

pip cache dir

 

그럼 경로가 한개 출력되는데 conda와 동일하게 해당 경로를 local환경에 존재하는 어느 경로에 mount해주면 된다.

  • ex. docker run ... -v /home/jaeyunglee/build_cache/pip_cache:/root/.cache/pip
반응형