가상환경 구축에 사용되는 Docker를
VS Code를 활용하여 사용해보자!
(SSH를 이용한 서버 접속에 대한 내용은 1,2번)
VS Code 확장 탭에서 "Remote Development" 설치
VS Code에서 서버 접속
SSH Host 설정
F1 또는 Ctrl+Shift+P
입력창에서 "Remote-SSH: Add New SSH Host..." 선택
[ID]@[접속할 서버의 IP주소] → 저장 위치 설정
SSH 이용해서 서버 연결
F1 또는 Ctrl+Shift+P
입력창에서 "Remote-SSH: Connect to Host..." 선택
설정한 IP주소 선택 → 암호입력
새 창 왼쪽 아래 모서리를 보면 SSH: [설정한 IP주소] 처럼 뜨면
서버에 접속 완료
Docker 설치
Mac OS, Linux의 경우 큰 문제가 없지만
Windows 같은 경우 설정할 몇 가지가 존재
필요한 Docker Image 다운로드
https://galid1.tistory.com/322
예를 들어
인공지능을 공부를 위해 TensorFlow 그리고 GPU를 이용하려 하는 상황이라고 한다면
각 TensorFlow 버전에 따라 아래처럼 Python, cuDNN, CUDA의 호환되는 버전이 따로 있기 때문에
매번 버전을 바꾸기 힘들어서 가상환경을 이용하는데
이 버전을 알아서 맞춰놓은 패키지가 바로 도커의 이미지
Docker Hub에서 "Tensorflow" 와 같이 검색하면
이미지를 다운받을 수 있는 docker pull ~ 와 같은 명령어가 있음
이 명령어를 각 OS의 터미널에서 실행
다운받은 Image로 Container 생성
각종 옵션을 이용하여 docker run
(-it, --name 옵션은 거의 항상 사용됨)
옵션 | 설명 |
-d | detached mode, 백그라운드 모드 |
-p | 호스트와 컨테이너의 포트를 연결 (포워딩) |
-v | 호스트와 컨테이너의 디렉토리를 연결 (마운트) -v [호스트 디렉토리]:[컨테이너 디렉토리] |
-e | 컨테이너 내에서 사용할 환경변수 설정 |
-it | 터미널 입력을 위한 옵션, -i 와 -t 를 동시에 사용한 것 |
-rm | 프로세스 종료 시 컨테이너 자동 제거 |
-link | 컨테이너 연결 [컨테이너명:별칭] |
--name | 컨테이너 이름 설정 |
--gpus all | GPU 사용 |
$ docker run -it -v [호스트 디렉토리]:[컨테이너 디렉토리] --name [컨테이너 이름] 이미지 bash
명령어 맨 끝 바로 앞에 (bash 앞에) 이미지를
Repository(이미지 이름) 이나 Image ID(이미지 ID)를 적어도 상관없지만
이미지 이름의 경우 중복이 있을 수 있으니
가급적이면 이미지 ID를 사용하는 것을 추천
(이미지 ID를 적을 때는 앞에 3글자만 적어도 상관없음)
Container에서 root 권한으로 명령어 실행
아래의 코드를 한줄 한줄 실행
apt-get update
apt-get install ssh
apt-get install openssh-server
service ssh start
# 4줄을 실행시키고 VS Code 실행
# 안되면 port 22만 풀어주기 "/etc/ssh/sshd_config" 구글링
# 컨테이너에서 나가려면 exit
만약 "exit" 을 쳐서 컨테이너에서 나왔다면
$ docker ps # 실행중인 컨테이너 확인 → 만들었던 컨테이너가 실행중인지 확인
$ docker start [컨테이너 이름] # 만들었던 컨테이너가 종료됐다면, 컨테이너 시작
$ docker exec -it [컨테이너 이름] bash # 컨테이너로 다시 들어가기
Docker 사용 전 VS Code 세팅
F1 또는 Ctrl+Shift+P
입력창에서 "Preferences: Open Settings (JSON)" 선택
중괄호 { } 안에 다음 코드 추가
"docker.host": "ssh://[아이디]@[IP주소]",
서버에서 Container 사용하기
위에 2. VS Code에서 서버 접속에서 한 것처럼
F1 또는 Ctrl+Shift+P
"Remote-SSH: Connect to Host..." 로 서버에 먼저 접속
설정한 IP주소 선택 → 암호입력
새로 켜진 창(서버에 접속된 상태)에서
F1 또는 Ctrl+Shift+P
입력창에서 "Remote-Containers: Attach to Running Container..." 선택 → 암호 입력
아까 실행시켜둔 도커 컨테이너 이름 선택 (syk) → 암호 입력
왼쪽 아래 모서리를 보면
VS Code에서 도커 컨테이너가 실행된 것 확인
📝 참고
https://junha1125.github.io/blog/pytorch-docker-git/2021-03-29-server_container/
'Programming > Linux' 카테고리의 다른 글
virtualenv 가상환경 설정 (리눅스 가상환경, 우분투 가상환경) (0) | 2022.03.18 |
---|---|
Linux 기초 명령어 (0) | 2022.03.17 |
Linux WSL2 디렉토리 (파일 옮기기) (0) | 2022.03.16 |
Windows11 Linux 설치 (WSL) (0) | 2022.03.16 |
SCP, 로컬-서버 간 파일/폴더 전송 (0) | 2022.02.22 |