[vscode] 원격서버에서 docker container 접속하기

2021. 2. 6. 17:28개발/Docker

728x90

일단 원격을 접속하려면 docker는 굳이 설치할 필요가 없다고 한다.

원격 서버에서 docker container를 접속하려면, local (노트북) 같은 곳에서도 docker를 설치해줘야 한다.

 

현재 환경

 

local : windows 10 

원격 : 16.04

 

docker 설치

docs.docker.com/docker-for-windows/install/

 

Install Docker Desktop on Windows

 

docs.docker.com

hub.docker.com/editions/community/docker-ce-desktop-windows/

 

Docker Desktop for Windows - Docker Hub

Docker Desktop for Windows Docker Desktop for Windows is Docker designed to run on Windows 10. It is a native Windows application that provides an easy-to-use development environment for building, shipping, and running dockerized apps. Docker Desktop for W

hub.docker.com


VSCode 설치

 

일단 설치는 자연스럽게 했다고 가정...

 

 


VSCode에서 remoter server 환경 구성해보기

1) extension에는  Remote-SSH를 설치해준다.

2) extension에는  Remote-Containers를 설치해준다.

 

remote server에 컴퓨터의 보안키 등록

참고: seokhyun2.tistory.com/42  

 

1. windows powershell 접속

2. 키 발급

 ssh-keygen -t rsa -b 4096

3. 키 발급 복사

3.1 키 발급한 것 복사

하얀색 부분으로 없앤 부분을 복사하기

 Get-Content .\.ssh\id_rsa.pub

 

3.2 remote server에서 key 등록하기

vi /hone/[user]/.ssh/authorized_keys

chmod 644 /home/[user]/.ssh/authorized_keys

3.3 vscode에서 F1 Remote-SSH:Connect to Host.. 클릭

3.3.1 Configure SSH Hosts 클릭

3.3.2 /. ssh/config 클릭

3.3.3 identiyfile 쪽을 아래와 같이 추가

 

 

이렇게 까지 하면 키 등록은 완료 

(근데 계속 비번은 물어봄...) >> user에다가 만들고, 644 권한 주니까 됨.

 

4. settings.json 수정

F1 -> Preferences: Open Settings (JSON) -> docker.host 추가

> root로 안할 경우 user에 다음과 같이 추가해야 함.

docker.host" : "ssh://root@IP"

## root 권한으로 못들어가는 가는 경우
docker.host" : "ssh://user@IP"

추가적으로 user에거 docker 권한 추가하기 및 sock 에러 발생시 해결법

sudo usermod -aG docker [userid]
## permission 에러 추가로 뜰 경우에
sudo chmod 666 /var/run/docker.sock

5. remote-server의 docker container 접속하기

 

 

5.1 F1 누르기

5.2 Remote-Containers: Attach to Running Container

5.2.1 비번 치고 container 선택하고 그런 작업들이 있음.

5.3 기존에 켜져 있던 container 들어가기 / 들어가진 것을 알 수 있음!

6. python evironment 설정

7. TEST

잘 작동되는 것을 확인함 

 


Pycharm에서는 remote server에서 docker container에 접속하는 것이 어려웠는데, vscode에서는 쉽게 할 수 있어서 좋은 것 같다. 서버에 있는 코드 디버깅이 참 까다로웠는데, 앞으로는 좀 더 수월하게 디버깅을 할 수 있을 것 같다.

 

 

Reference

seokhyun2.tistory.com/42

seokhyun2.tistory.com/48

code.visualstudio.com/blogs/2019/10/31/inspecting-containers

 

728x90