🌿 중급 개발도구
Dev Container가 뭔가요?
쉽게 이해하기
팀 프로젝트를 할 때 각자 집에서 준비물을 챙겨오면 누구는 8색 크레파스, 누구는 24색 크레파스를 가져와서 결과물이 달라지잖아요. Dev Container는 '모두 이 가방에 들어있는 똑같은 준비물을 쓰세요'라고 정해주는 것과 같아요.
핵심 정리
개발 환경을 컨테이너로 만들어서 팀원 모두 똑같은 환경에서 작업할 수 있게 해주는 기술이에요.
자세히 알아보기
Dev Container는 Docker를 활용해 개발 환경 자체를 컨테이너로 만드는 기술이에요. VS Code 같은 에디터에서 프로젝트를 열면 자동으로 설정된 환경이 실행되고, 팀원 모두 동일한 Node 버전, 라이브러리, 확장 기능을 사용하게 돼요.
실무에서는 '내 컴퓨터에서는 되는데요'라는 문제를 원천 차단할 수 있어요. 신입 개발자가 합류하면 Git에서 코드를 받고 VS Code로 열기만 하면 개발 환경 세팅이 자동으로 완료돼요. Python 버전을 깔거나 라이브러리를 설치하는 수고가 없죠.
Dev Container는 .devcontainer/devcontainer.json 파일에 환경 설정을 저장해요. 어떤 Docker 이미지를 쓸지, 어떤 VS Code 확장 기능을 설치할지, 포트는 어떻게 열지 등을 정의하죠. 프로젝트마다 다른 Python 버전이 필요할 때도 각 프로젝트에 맞는 환경을 독립적으로 유지할 수 있어요.
특히 여러 프로젝트를 동시에 작업하는 개발자에게 유용해요. A 프로젝트는 Node 16, B 프로젝트는 Node 20이 필요할 때 각각의 Dev Container를 열면 자동으로 적절한 환경이 준비되니까요. GitHub Codespaces 같은 클라우드 개발 환경도 Dev Container 기술을 기반으로 하고 있어요.