• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    해결됨

dev containers 활용한 개발환경 배포

24.03.21 23:27 작성 24.03.21 23:28 수정 조회수 68

1

안녕하세요, 다니엘 선생님

VM에서 /home/{user}/Kaggle-python-gpu-env 폴더를 생성하고 그 하위에 도커파일을 만들고 dev containers 확장기능을 이용해서 리빌드하면 도커 빌드 및 컨테이너가 배포되어 자동으로 진행되어 파이선 개발 환경 (A)가 만들어 진 것으로 이해했습니다. 개념이 맞을까요?

그렇다면, 또 다른 신규 폴더를 생성하고 위의 과정을 동일하게 반복한다면 또 다른 개발환경(B)가 만들어지는 건가요? 이런 식으로 여러 개의 컨테이너가 배포가 되어 개발 환경을 만들 있는 건가요?

답변 1

답변을 작성해보세요.

1

안녕하세요, SPAGGY님.

(질문) 그렇다면, 또 다른 신규 폴더를 생성하고 위의 과정을 동일하게 반복한다면 또 다른 개발환경(B)가 만들어지는 건가요?

(Answer) 이해하시고 계신 개념이 정확히 맞습니다. 다수의 컨테이너를 생성하면 작업 공간이 분리되고, 이 때 한 가지 고민해 볼 수 있는 것이 컨테이너의 수가 많아지더라도 하드웨어 사용 용량은 크게 증가하지 않습니다. 기본 베이스 이미지는 공유하기 때문입니다.

 

예를 들어 SPAGGY님이 하나의 폴더를 생성하고 DockerFile을 좀 더 다르게 작성했다고 해 볼께요. 예를 들면 pandas의 new version (2.5.2)을 테스트할 목적으로 아래와 같이 DockerFile을 생성하고 새로운 폴더에 저장했다고 가정해 보면,

DockerFile

FROM gcr.io/kaggle-gpu-images/python:v139

RUN pip install yfinance && pip install --upgrade pandas==2.5.2

 

dev container는 새로운 이미지와 컨테이너를 생성합니다. 이 때 기본 베이스 이미지, gcr.io/kaggle-gpu-images/python:v139 와 yfinance는 기존 이미지와 공유하기 때문에 새로운 이미지에 대해서 추가적으로 필요한 저장 공간은 new pandas에 필요한 용량 뿐입니다.

또한 이 때 기존 이미지에 대한 Layer들은 이미 설치가 되어 있기 때문에 새로운 dev container의 생성도 빠르게 진행됩니다.

 

추가적으로 설명이 필요한 부분은 언제든 지체하지 마시고 계속 질문해 주세요.

 

화이팅입니다. 😃

다니엘 드림

p install --upgrade pandas==2.5.2

SPAGGY님의 프로필

SPAGGY

질문자

2024.03.22

빠른 답변 감사합니다. 컨셉이 너무 좋네요. ^^