Dev container 란?
“Dev Containers”는 **Visual Studio Code(VS Code)**에서 제공하는 확장 프로그램이다. 이 확장의 핵심 아이디어는 개발 환경을 컨테이너라는 독립적인 “상자” 안에 넣어서 관리하는 거다.
쉽게 말하면, Dev Containers는 “내 컴퓨터에서 개발 환경을 새로 만들지 않고, 이미 준비된 환경을 바로 가져다 쓰게 해주는 도구”라고 생각하면 된다.
Dev Container의 역할
Dev Containers 확장이 하는 일은 크게 세 가지로 나눌 수 있다.
1. 일관된 개발 환경 제공
팀원마다 컴퓨터 환경이 달라서 생기는 문제를 없애준다. 예를 들어, 누군가는 윈도우, 누군가는 맥을 쓰는데, 소프트웨어 버전이나 설정이 달라서 코드가 제대로 안 돌 수 있다. Dev Containers는 모두 똑같은 환경을 컨테이너로 만들어서 이런 문제를 해결한다.
- 컨테이너는 도커(Docker)라는 기술을 기반으로 만들어진다. 마치 가상 머신처럼 독립적이지만, 더 가볍고 빠르게 동작한다.
- 이 확장은 특히 팀 작업이나 복잡한 프로젝트에서 환경 설정 문제를 해결해준다.
2 .쉽고 빠른 환경 설정
프로젝트를 시작할 때마다 Python, Node.js, 데이터베이스 같은 도구를 설치하고 설정하는 게 귀찮을 수 있다.
데브 컨테이너는 이런 걸 미리 준비된 '레시피'로 한 번에 뚝딱 만들어준다.
3. 프로젝트별 충돌 방지
서로 다른 프로젝트가 같은 컴퓨터에서 충돌하지 않게 해준다. 예를 들어, 한 프로젝트는 Python 3.8을 쓰고, 다른 프로젝트는 Python 3.11을 써야 한다면, 데브 컨테이너로 각각 따로 환경을 만들 수 있다.
동작 방식
Dev Container를 쓰려면 VS Code와 도커가 설치되어 있어야 한다. 그 다음 과정은,
- 프로젝트 폴더에 .devcontainer라는 폴더를 만들고, 그 안에 devcontainer.json 파일을 추가한다.
- devcontainer.json에서 “어떤 환경을 쓸 건지” 설정한다. (예: 어떤 도커 이미지를 가져올지, 설치할 도구는 뭔지 등)
- VS Code에서 “Dev Containers: Reopen in Container” 명령어를 실행하면, 그 설정대로 컨테이너가 만들어지고 VS Code가 그 안에서 실행된다.이제 코드를 작성하거나 디버깅할 때, 내 컴퓨터가 아니라 컨테이너 안에서 모든 게 돌아간다.
장점과 단점
장점
- 팀 작업에서 “환경이 달라서 안 돼요” 문제를 해결.
- 내 컴퓨터를 더럽히지 않고 깔끔하게 개발 가능.
- 클라우드(예: GitHub Codespaces)에서도 똑같이 쓸 수 있음.
단점
- 도커를 설치해야 해서 처음엔 설정이 살짝 복잡할 수 있다.
- 컴퓨터 자원(특히 메모리)를 좀 더 먹는다.
결론
Dev Container는 개발 환경을 레고처럼 미리 조립된 상태로 가져와서 쓰게 해주는 도구라고 할 수 있다. 특히 팀으로 일하거나, 여러 프로젝트를 동시에 다룰 때 유용하다. 지금까지 데브 컨테이너의 기본 개념에 대해서 알아봤다!
다음 글에서는 데브컨테이너의 작성 방법 및 사용 예시를 간단히 살펴보기로 한다. Coming soon. 😎
## 이 글은 Grok 3의 도움을 받아 작성하였음.
'AI Journey > 개발 용어 및 개념' 카테고리의 다른 글
[개발 용어] Repaint와 Reflow 쉽게 이해하기 (2) | 2025.03.20 |
---|---|
[개발 용어] Dev container (데브 컨테이너) Part 2 - 작성 방법 및 예시 (0) | 2025.03.10 |
[개발 용어] IDE에서 디렉토리 이해하기 (0) | 2025.02.22 |