관리 메뉴

ComputerVision Jack

ssh를 이용한 Docker 실행 본문

Computer Vision/Vision Note

ssh를 이용한 Docker 실행

JackYoon 2021. 4. 17. 17:08
반응형

jackyoon5737.tistory.com/category/Computer%20Vision%20Task/vision%20note

 

'Computer Vision Task/vision note' 카테고리의 글 목록

영상처리를 전공하며 공부한 내용을 스스로 정리하는 블로그 https://github.com/yooninsig

jackyoon5737.tistory.com

저번 내용에 서버에 nvidia docker를 설치하고 docker hub에서 image 파일을 pull하여 가져온 후, 해당 파일을 이용해 docker container를 구축하는 것 까지 완성하였습니다.

 

이제 해당 docker container에 ssh를 설치하여 local에서 모델을 학습하는 방법에 대해 정리하겠습니다.

우선 $docker ps 명령어를 통해 사용할 컨테이너 목록을 확인합니다.

다음 $docker exec -it container_name (or container_id 앞 4글자) /bin/bash 로 docker container를 실행합니다.

tensorflow docker 실행

tensorflow image를 가져와서 container를 제작하고 실행했기 때문에 위와 같은 화면이 뜹니다.

이제 local에서 작업하기 위해 dpkg -l | grep ssh 명령어를 통하여 ssh가 설치되어있는지 확인합니다.

ssh 설치 확인

해당 경우 ssh가 있기 때문에 service ssh status 명령어로 현재 ssh 상태를 확인한 후, service ssh start로 ssh를 구동하면됩니다. 만약 ssh가 없다면 ssh를 설치해야합니다. 명령어가 틀리는 순간 정말 골치아파지기 때문에 복붙하여 설치하는 것을 권장합니다.

sed -i "s/archive.ubuntu.com/mirror.kakao.com/g" /etc/apt/sources.list

apt-get -y update && apt-get upgrade

apt-get install -y wget bzip2 build-essential git openssh-server emacs sudo

이렇게 3개의 명령어를 복붙하여 실행하면 해당 서버에 ssh가 깔리는 것을 확인할 수 있습니다.

 

이제 해당 ssh에 대해 연결을 위해 사용자 설정을 진행합니다.

adduser user_name (아무거나)을 통해 사용자를 생성합니다. 다음 UNIX password를 통해 사용자와 ssh 접근 비번을 설정합니다. 나머지는 enter키를 이용해 skip해도 무방합니다.

adduser user_name sudo 명령어를 통해 사용자를 sudo 그룹에 포함합니다. sudo 명령어가 먹지 않는 다면 (apt-get install sudo) 진행

사용자 생성

아까는 root로 잡힌 방면에 이젠 사용자로 잡히고 ssh까지 실행되는 것을 확인했습니다. 이제 해당 내용은 끝났습니다. 더이상 서버에서 진행할 작업은 없습니다. 이제 local로 작업 환경을 옮기겠습니다.

 

vs code를 실행시킨 후, remote ssh를 설치합니다. 설치 후에 [F1]키를 눌러 remote ssh를 작동시킵니다. 다음

ssh insig@xxx.xx.xxx.x.xx -p 9999 만들어논 컨테이너에 대해 설정한 port 번호를 이용하여 연동합니다.

 

다음 터미널을 키고 github에 있는 repo를 clone하여 가져옵니다. 

코드를 실행할 때 주의할 점은 container를 생성할 때, mount시킨 host directory를 기억해야 편리합니다. (data_path 등을 잡는 경우)

local vs code

이제 local의 vs code에서 서버에서 만든 docker에 연결되었습니다. 블러 처리를 하였지만 제작한 container tensorflow 붉은 글씨가 보입니다.

이제 원하는 작업을 실행해도 좋지만 저는 docker위에 anaconda를 사용하여 tensorflow 및 keras에 대한 version 관리 하는 것을 추천합니다.

https://jjeongil.tistory.com/825

 

Ubuntu 18.04 LTS에 Anaconda 설치 : 단계별 진행

이번 포스팅에서는 Ubuntu 18.04 LTS Tutorial에 Anaconda 설치하는 방법에 대해 알아보겠습니다. Anaconda는 데이터 과학 및 머신 러닝 관련 응용 프로그램을위한 Python 및 R 프로그래밍 언어의 오픈 소스 배

jjeongil.tistory.com

해당 블로그에서 저는 Anaconda 설치에 대해 많은 도움을 받을 수 있었습니다. 감사합니다.

만약 3000번 대 gpu를 사용하여 tensorflow 1.x 버전을 사용하고 싶다면 해당 아래의 링크를 사용하여 정보를 얻는 것을 추천합니다. 3000번대 gpu에선 제공하는 버전은 tensorflow 2.x 대이며 docker image 자제도 tensorflow image가 아니라 nvidia-docker image를 가져와야합니다.

https://www.pugetsystems.com/labs/hpc/How-To-Install-TensorFlow-1-15-for-NVIDIA-RTX30-GPUs-without-docker-or-CUDA-install-2005/

 

이제 anaconda 설치를 완료했다면 source activate 가상환경 이름 명령으로 가상환경을 활성하 시키고 작업을 진행하면 됩니다. 가상환경에서 라이브러리를 설치할 때 pip으로 설치하는 것 보다 conda install을 사용하여 설치하는 것을 권장합니다. pip tensorflow를 설치하면 cudnn및 cudatoolkit을 따로 설정해야하지만 conda install을 사용하면 conda가 알아서 해당 버전의 cuddn / cudatoolkit을 가져옵니다.

 

만약 cudatoolkit에 대해 버전오류가 발생한다면 conda search “^cudatoolkits& 명령어를 통해 conda가 제공하는 cudatoolkits 버전들을 확인하고 설치하시면 될거 같습니다.

반응형

'Computer Vision > Vision Note' 카테고리의 다른 글

Data Augmentation  (0) 2021.03.30
Docker 구축  (0) 2021.03.21
Vision Task Workflow  (0) 2021.03.14
Comments