macOS에서 작성된 글입니다.
vscode에서 Remote Development 확장 설치
WSL, Dev Containers, Remote - SSH, Remote - Tunnels가 포함된 세트다.

이제 두가지 경우가 있다.
컨테이너가 이미 올라가 있는 경우
쉬프트 + 커맨드 + p 에서 >개발컨테이너: 실행 중인 컨테이너에 연결 선택

컨테이너 선택

>파일: 폴더열기

디렉토리 선택



그러면 터미널도 새로 열면 워크디렉토리에서 시작하고, vscode 탐색기도 디렉토리가 잘 설정되어있다.
컨테이너가 올라가 있지 않는 경우
보통은 docker compose up/start 하겠지만 Dev Containers 확장의 기능을 이용하는 방법이 있다. 다만 이렇게하면 vscode를 종료하면 컨테이너도 같이 stop 된다.
./compose.yml
services:
dev:
image: test_debian:latest
pull_policy: never
tty: true
./.devcontainer/devcontainer.json
{
"dockerComposeFile": "../compose.yml",
"service": "dev",
"workspaceFolder": "/home/server"
}
위와같이 두개의 파일을 두고, vscode에서
컨테이너에서 폴더 열기

compose.yml파일이 있는곳 이동 (이미지의 Dockerfile 은 필요없음)
안보이지만 .devcontainer 폴더가 있다. (숨김폴더라 그럼)

열기를 누르면 .devcontainer/devcontainer.json 의 설정을 기반으로 컨테이너를 올리고, 자동으로 접속까지 된다. 지금은 compose 파일을 설정해놨기 때문에 컨테이너를 띄울 때 compose파일을 따른다.
만약 compose파일 없이 devcontainer.json 단독으로 똑같이 컨테이너를 올리고싶다면 아래와 같이 설정하면 된다.
{
"name": "dev",
"image": "test_debian:latest",
"workspaceFolder": "/home"
}
devcontainer의 의의는 vscode의 확장 설치도 자동화 할 수 있다는 점이다.
잘 설정해놓고 사용하면
{
"name": "dev",
"image": "test_debian:latest",
"workspaceFolder": "/home",
"customizations": {
"vscode": {
"extensions": [
"ms-vscode.cpptools",
"llvm-vs-code-extensions.vscode-clangd"
],
"settings": {
"C_Cpp.intelliSenseEngine": "disabled"
}
}
},
"shutdownAction": "none"
}
위와 같이 확장 설치에 대한 설정을 해놓으면 컨테이너가 띄워졌을 때 자동으로 vscode 확장을 컨테이너에 설치해준다.

그리고 shutdownAction설정으로 vscode를 닫아도 컨테이너가 닫히지 않게도 설정할 수 있다.
'개발환경 > VScode' 카테고리의 다른 글
| VScode 컨테이너 환경에서 c++ 자동완성 쓰기 (Clangd) (0) | 2026.03.15 |
|---|---|
| 윈도우 VScode에서 터미널 PowerShell -> git bash 변경 (0) | 2024.09.02 |