2 minute read

만약 Docker가 설치되어 있으면 아래 작업을 진행하지 않아도 됨

Docker 란?

간단히 설명해서 새로운 디바이스나 OS환경을 구축시키고 싶을 때 사용하는 Linux 툴이다.
현재 우리가 사용하고 있는 서버는 Linux 환경이고 다부처 과제 같은 경우에는 CCTV 환경에서 쓰러짐, 배회자, 폭행 등 다양한 이벤트를 수행해야됨. 하지만 CCTV 환경에서 직접 돌려야되면서 다양한 연구실들과 협업을 해야되는 입장에서 진행해야 하고 스마트 CCTV의 디바이스가 많이 없기 때문에 Docker환경에서 돌리는 것이 효율적이고 빠름.
다음 링크는 Docker 기초 수업으로 한번 보고 시작하면 매우 좋음.
생활코딩 Docker 수업

다부처용 Docker 설치

송진하 박사님 연구실에서 직접 만든 Docker 설치 법이 있는데 링크부터 보여주면 다음과 같음. 송진하 박사님 블로그 보통 처음 리눅스 OS를 깔면 Docker가 없음 따라서 설치해야 하는데

Requirements

sudo apt-get remove docker docker-engine docker.io
sudo apt-get update
sudo apt-get install -y \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common

위 코드는 우선 설치되어 있는 Dcoker를 삭제한 다음 apt-get update 리눅스 커널 업데이트를 한 후에 Docker를 깔기 위해서 나머지 패키지도 설치해야 됨.

apt key 및 repository 추가

apt key를 추가하는 코드임

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

그다음 apt key가 제대로 추가 됬는지 확인해봄

sudo apt-key fingerprint 0EBFCD88

위 코드를 실행하면 다음 출력이 뜨는데 제대로 뜨는지 확인해봐야 함

pub   4096R/0EBFCD88 2017-02-22
      Key fingerprint = 9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid                  Docker Release (CE deb) <docker@docker.com>
sub   4096R/F273FCD8 2017-02-22

apt repository를 추가하기 위해 다음 코드를 실행함

sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
sudo apt-get update

삭제한 Docker 새로 설치

sudo apt install docker-ce
sudo systemctl enable docker
sudo systemctl start docker

sudo systemctl start docker는 docker를 재시작하는 코드임.

docker run --rm arm32v7/hello-world

위 코드는 docker의 hello world인데 그냥 제대로 돌아가는지 확인하는 코드임

sudo usermod -aG docker {Username}
sudo reboot

위 코드를 진행하는 이유는 docker는 일반적으로 sudo로 만 가능함 하지만 계속해서 sudo를 작성하면 귀찮고 오래 걸리기 때문에 진행함.
sudo reboot을 진행해야지 다음부터 적용이 가능함.
중요!!!!! (실행하기 전에 꼭 서버를 사용하고 있는 다른 사용자들한데 허락을 맡고 작업할 것)

Nvidia-docker 란? & 설치

nvidia-docker 송진하 박사님 블로그
Nvidia-docker를 설치하는 이유는 docker image를 설치할 때 바로 nvidia 및 사용할 수 있도록 하기 위해서 설치함.

remove previous version of nvidia-docker

docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f
sudo apt-get purge -y nvidia-docker

위 코드를 진행하면 이전에 있던 nvidia-docker 버젼을 삭제함

apt key 및 레포토지 추가함

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
  sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
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

nvidia-docker install

sudo apt-get install -y nvidia-docker2

nvidia-docker를 설치함

reload docker daemon configuration

sudo pkill -SIGHUP dockerd

nvidia-smi이 제대로 돌아가는지 확인하는 코드

docker run --runtime=nvidia --rm nvidia/cuda:${VERSION} nvidia-smi

Docker-compose install

Docker-compose 송진하 박사님
docker-compose를 사용하기 위해서 설치하는 방법임. 다부처 과제에서는 미리 설정된 docker-compose를 사용해서 미리 정의된 config 파일로 새로운 image로 만드는데 미리 설치해 놓는게 편함.

sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) \
-o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

설치 됬는지 확인하기 위해서 아래 코드는 실행해봄

docker-compose --version

버젼 확인해보면 아래 출력이 보임

docker-compose version 1.21.2, build 1719ceb

Categories:

Updated:

Leave a comment