devcontainer를 사용하면 컴퓨터 환경을 더럽히지 않을 수 있습니다.
가끔 느린게 흠이긴 하지만 꽤 유용하게 사용하고 있기 때문에 devcontainer의 설정파일인 devcontainer.json의 구성을 알아두는 게 좋을 것 같아 정리해두려고 합니다.
devcontainer.json의 자세한 설명은 아래에서도 확인해볼 수 있습니다.
https://containers.dev/implementors/json_reference/
저는 너무 많아서 일단 중요한 내용들만 밑에 정리해서 남겨두겠습니다.
{
// -----------------------------------------------------------------
"name": "devcontainer-example",
"dockerComposeFile": "../../docker-compose.yml",
"service": "app",
"workspaceFolder": "/workspace",
"forwardPorts": [],
"remoteUser": "root",
// -----------------------------------------------------------------
// 기본 컨테이너에 추가할 개발 컨테이너 기능
// "features": {
// "docker-in-docker": {
// "version": "latest",
// "dockerDashComposeVersion": "v2"
// }
// },
// -----------------------------------------------------------------
"customizations": {
"vscode": {
"settings": {
"editor.mouseWheelZoom": true
},
"extensions": [
"eamodio.gitlens"
]
}
}
}
1. name
컨테이너 이름입니다
2. dockerComposeFile
docker-compose.yml 파일을 이용해 빌드 할 경우 사용합니다.
docker-compose.yml 파일의 상대경로를 적어주면 됩니다.
참고로 제 docker-compose.yml 파일 위치는 이렇게 됩니다
3. service
docker-compose.yml 파일을 이용해 빌드 할 경우 사용합니다.
docker-compose.yml의 서비스 이름입니다.
참고로 제 docker-compose.yml 파일 입니다.
4. workspaceFolder
docker-compose.yml 파일을 이용해 빌드 할 경우 사용합니다.
컨테이너에 연결하는 기본 경로입니다.
ex ) code 폴더를 마운트 할 경우
workspace 안으로 넣어줘야 합니다.
5. forwardPorts
포트를 설정하는 부분입니다
저는 딱히 설정하지 않고 넘어가겠습니다
6. remoteUser
사용자를 정의하는 부분입니다
7. customizations
개인적으로는 devcontainer 사용할때 제일 중요한 부분이라고 생각합니다.
devcontainer 안에서 사용할 속성을 정의해놓는 부분입니다.
7-1. settings
vscode의 setting.json에 default 값을 설정해주는 부분입니다.
7-2. extensions
확장팩을 설치하는 부분입니다.
설치하고 싶은 익스텐션을 검색한 뒤에 추가해주면 됩니다.
'programing > infra' 카테고리의 다른 글
[ network ] secure, httponly 에 대해서 (0) | 2023.07.13 |
---|---|
[ vscode ] vscode에 extension 만들어서 배포해보기 (0) | 2023.02.16 |
[ vscode devcontainer ] devcontainer로 python 사용해보기 (0) | 2023.01.31 |
댓글