우리가 Web App을 하나 만든다고 했을 때, React, Python API, PostgreSQL DB를 주요 기술 스택으로 사용한다고 가정해보겠습니다.

이 경우, 우리는 Node, Python, PostgreSQL을 설치해줘야할 겁니다. 그치만 다른 개발자들 모두 노트북이나 컴퓨터(이하 로컬 머신)에 설치된 버전이 동일하다고 확신할 수 있을까요? 그리고 CI/CD 시스템 상이나 프로덕션 환경에서까지도 동일하다고 확신할 수 있을까요? 어쩌면 사이드 프로젝트를 하다가 로컬 버전을 높여버리거나 낮추는 경우가 발생할 수도 있습니다.

그렇다면 어떻게 해야 로컬 머신의 버전과 관계없이 버전을 통일할 수 있을까요? 어떻게 버전 충돌을 관리(핸들링)할 수 있을까요?

해답은 Container입니다. 컨테이너는 다음과 같은 멋진 점들이 존재합니다.