docker 설치 정리
2019.04.05


@nvidia-docker2 설치
apt-get install nvidia-docker2
docker-ce 에러 뜰 경우
- apt-get install docker-ce (버전 확인)
설치된 docker-ce의 버전이 에러에서 나타난 docker-ce와 동일한 경우 아래 command 실행. 
첫번째 command의 distribution에서 자신의 ubuntu 버전 입력
 
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
  sudo apt-key add - distribution=ubuntu18.04   
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
  sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update

apt-get install nvidia-docker2

@docker 경로 변경

service docker stop
원하는 경로에 폴더 생성 (mkdir /mnt/sdc/docker)
/etc/docker/daemon.json

다음과 같이 변경
{
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    },
    "graph": "/mnt/sdc/docker",  # 여기에 원하는 경로 입력
    "storage-driver": "aufs"
}

/service docker start
docker info에서 경로 확인

storage-drive를 aufs로 안하고 overlay로 할 경우, container 내 sudo uid 문제 생길 수 있으니 주의

@image 설치
docker hub에서 nvidia/cuda 검색 후 원하는 버전 선택
docker pull nvidia/cuda:tag

@container bash 실행
docker images <- 이미지 번호 확인
nvidia-docker run -it -d -p 10022:22 이미지번호 bash

@container ssh 실행
docker ps <- container 번호 확인
docker exec -it container번호 /bin/bash
apt-get install openssh-server sudo vim
adduser ID
visudo -f /etc/sudoers <- 생성한 아이디 sudo 권한 부여
service ssh start <- port 22로 실행됨. container 생성시 10022 포트를 22번으로 port forwarding함. 따라서 container 접속시 ssh port로 10022를 이용할 것

@container 중지 및 삭제
docker ps <- 현재 동작중인 container 번호 확인 가능
docker stop container번호
docker ps -a <- 모든 상태의 container 번호 확인 가능
docker rm container번호

@image 삭제
docker images <- 이미지 정보 확인
docker rmi 이미지번호

Posted by Sky_Genesis
,