docker images |
: 현재 깔려있는 docker images 확인하기
docker ps [-a] |
: 실행중인 컨테이너 확인하기
docker stop [컨테이너명] |
: 실행중인 컨테이너 멈추기
docker commit [컨테이너명] [저장명] |
: 현재 사용하던 컨테이너를 [저장명]의 새로운 docker image 로 생성함.
: 혹시 이미 사용중인 컨테이너의 포트를 열고 싶다면 stop 명령어로 정지시키고 commit 을 통해 새로운 이미지로 만든 뒤 아래 명령어인 run을 통해 새롭게 컨테이너를 만들며 포트를 열어줘야 한다.
nvidia-docker run -i -t -p [host port]:22 --name [컨테이너명] nvidia/cuda /bin/bash |
: gpu 사용과 ssh 사용을 위한 컨테이너 만들기
: 22 port는 ssh를 위함.
: 여기서는 nvidia/cuda 이미지를 사용하기로 함.
컨테이너 안에서...
apt-get update |
: 다 업데이트부터 진행 ㄱ
apt-get install nano |
: nano 사용을 위해서 깔아줌...ㅎ
apt-get install ssh |
: ssh 사용을 위해서 설치.
cd ~/ ssh-keygen -t rsa -P '' -f ~/.ssh/id_dsa |
: ssh 키 설치
mkdir /var/run/sshd |
: sshd 폴더 생성
컨테이너 실행시 sshd가 자동으로 실행되도록 ~/.bashrc에 내용을 추가해준다.
nano ~/.bashrc해서 아래의 내용을 추가해줌.
# autorun /usr/sbin/sshd |
source ~/.bashrc 또는 source ~/.zshrc |
: 변경 사항을 적용
간혹 sftp 에러가 뜨는 경우는 아래의 시도를 더해보자.
nano /etc/ssh/sshd_config 를 통해 sshd_config파일을 아래와 같이 수정.
기존에는 Subsystem 어쩌고를 주석처리하고
Subsystem sftp internal-sftp 를 새롭게 적어준다.
adduser [유저명] |
: 유저를 새롭게 추가하고 따라나오는 화면을 따라 비밀번호를 입력한다.
usermod -aG sudo [유저명] |
: 유저에게 root 권한을 부여함.
root 로 로그인하기
nano /etc/ssh/sshd_config
PermitRootLogin yes 로 바꾸기
/etc/init.d/sshd restart
에러나는경우
/etc/init.d/ssh restart
sublimetext3 에서 sftp를 설치하고 sftp-config.json 파일을 수정한다.
아까 22번 포트와 연결해둔 포트를 적고 remote_path도 적어준다.
그렇게 하고 remote 버튼을 통해 연결을 시도해본다.
혹시나 이런 에러가 뜬다면 위에 설정에 적은 remote_path 의 권한이 부족해서 일 수 있다.
고로 다시 터미널로 돌아가 chmod 명령어로 접근권한을 바꿔주면 연결이 된다. :)
Filezilla 는 더 쉽다.
프로토콜을 SFTP로 설정하고 포트번호를 주고 로그인을 시도하면 된다!
'AI > Tip' 카테고리의 다른 글
GPU로 학습한 체크포인트 CPU에서 적용하기 (pytorch) (2) | 2020.02.13 |
---|---|
tensor 차원 늘리기 & channel 추가 (0) | 2020.02.06 |
zsh: command not found: brew (0) | 2020.01.16 |
[git] 이미 push 된 파일들에 .gitignore 적용하기 (1) | 2020.01.14 |
[git] fatal: remote origin already exists. (0) | 2020.01.14 |