vscode로 원격서버의 도커(docker)에 접속하는 방법
VS Code로 원격 서버 도커(Docker) 컨테이너 접속하기
딥러닝 모델 학습이나 무거운 백엔드 작업을 할 때, 고성능 GPU가 달린 원격 서버에 도커를 띄워놓고 작업하는 경우가 많다. 하지만 코딩은 내 손에 익은 노트북의 VS Code에서 하고 싶을 때가 있다.
이럴 때 VS Code의 Remote Development 기능을 활용하면, 마치 내 노트북에 있는 파일처럼 원격 도커 내부의 코드를 수정하고 실행할 수 있다.
전체 프로세스 요약
-
Client (내 노트북): VS Code 확장팩(Remote Development) 설치
-
Client (내 노트북): Docker Desktop 설치 (클라이언트용 도커 엔진 필요)
-
Server (원격 서버): 도커 컨테이너 내 SSH 설정 (필요시)
-
Client (내 노트북): VS Code 설정(
settings.json)에서 호스트 연결 -
Connect: 컨테이너 접속 (Attach)
1. Remote Development 확장팩 설치
가장 먼저 내 노트북(클라이언트)의 VS Code에 원격 접속을 위한 도구를 깔아야 한다. 왼쪽 확장(Extensions) 탭에서 **Remote Development**를 검색하여 설치한다. (Microsoft 공식 확장팩이다.)

이 팩을 설치하면 Remote-SSH, Remote-Containers 등이 한 번에 설치된다.
2. 로컬에 Docker 설치
윈도우 노트북이라면 Docker Desktop을 설치해야 한다. 이 과정이 필요한 이유는, VS Code가 원격지의 도커 데몬과 통신하기 위해 로컬에 있는 도커 CLI(명령어 도구)를 사용하기 때문이다.
-
설치 후 반드시 재부팅을 해준다.
3. 원격 서버(Docker) SSH 활성화
VS Code는 기본적으로 SSH 프로토콜을 터널링하여 도커에 접속한다. 따라서 원격 서버(혹은 컨테이너 내부)에 SSH 서비스가 활성화되어 있어야 한다.
원격 서버의 도커 컨테이너 내부로 진입하여 아래 명령어로 SSH를 설치하고 설정한다. (이미 되어 있다면 패스)
1) 패키지 설치
Bash
apt-get update
apt-get install ssh
apt-get install openssh-server
2) 설정 파일 수정
Bash
vi /etc/ssh/sshd_config
sshd_config 파일에서 포트 설정(Port 22) 부분의 주석을 해제한다. 만약 포트 포워딩을 통해 다른 포트를 쓴다면 해당 번호로 수정한다.
3) 서비스 시작
Bash
service ssh start
4. VS Code에 Docker Host 설정 (핵심)
이제 내 노트북의 VS Code에게 “도커 명령을 내릴 때, 로컬이 아니라 저 멀리 있는 서버를 바라봐라"라고 알려줘야 한다.
-
VS Code에서
Ctrl + Shift + P를 누른다. -
Preferences: Open Settings (JSON)을 검색하여 선택한다. -
settings.json파일에 아래 내용을 추가한다.
JSON
{
// ssh://접속ID@서버IP주소
"docker.host": "ssh://root@192.168.0.100",
// (기타 기존 설정들...)
"editor.fontFamily": "'D2Coding ligature', Consolas, 'Courier New', monospace",
"editor.fontSize": 16,
"remote.SSH.remotePlatform": {
"192.168.0.100": "linux"
}
}
-
docker.host: 여기가 핵심이다.ssh://<ID>@<IP_Address>형식으로 입력한다. -
만약 SSH 포트가 22번이 아니라면
ssh://<ID>@<IP_Address>:포트번호형태로 적어준다.
5. Docker Container 접속 (Attach)
모든 준비가 끝났다.
-
Ctrl + Shift + P를 누른다. -
Remote-Containers: Attach to Running Container를 검색해서 선택한다.
-
상단에 SSH 비밀번호 입력창이 뜨면 서버 비밀번호를 입력한다.
잠시 후(약 10~15초), 원격 서버에서 실행 중인 도커 컨테이너 리스트가 쭉 뜬다. 접속하려는 컨테이너를 선택하면 새로운 VS Code 창이 열리면서 해당 컨테이너 내부로 접속된다.
확인: 터미널을 열어보면 프롬프트가 컨테이너의 root로 잡혀있는 것을 볼 수 있다. 이제 쾌적하게 코딩하면 된다.