본문 바로가기
인프라/Docker

[한번에 끝내는 환경 구축] 도커 설치(gpu)부터 이미지 생성 및 컨테이너 사용까지

by code cleaner 2022. 6. 30.
반응형

도커 환경 구축

도커 gpu 설치 및 실행


도커 설치 참조 링크

  1. https://shanepark.tistory.com/237 # docker 설치
  2. https://sseongju1.tistory.com/16 # docker gpu 설치
  3. https://dongle94.github.io/docker/docker-nvidia-docker-install/ # docker gpu 설치
  4. https://comcube.tistory.com/entry/Ubuntu-에서-GPG-ERROR-NOPUBKEY-에러시-해결방법 # docker image 만들 때 퍼블릭키 에러 해결

도커 설치하기

  1. 설치에 필요한 apt 업데이트 및 설치
sudo apt-get update
sudo apt-get install \\
    ca-certificates \\
    curl \\
    gnupg \\
    lsb-release

 

  1. <생략가능> apt에 키 등록하기 위해 폴더 생성
sudo mkdir -p /etc/apt/keyrings

 

  1. 도커 GPG Key 인증
curl -fsSL <https://download.docker.com/linux/ubuntu/gpg> | sudo apt-key add -

 

  1. 확인
arch

 

  1. 도커 다운로드 및 설치
sudo add-apt-repository "deb [arch=amd64] <https://download.docker.com/linux/ubuntu> bionic stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

도커 GPU 설치

  1. nvidia container toolkit 설치
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \\
   && curl -s -L <https://nvidia.github.io/nvidia-docker/gpgkey> | sudo apt-key add - \\
   && curl -s -L <https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list> | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

 

  1. nvidia-docker 설치
sudo apt-get update
sudo apt-get install -y nvidia-docker2

 

  1. 설치 후 도커 재시작
sudo systemctl restart docker

 

  1. gpu 도커 설치 확인
docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi # 테스트 
sudo docker run --rm --gpus all nvidia/cuda:11.2 nvidia-smi # cuda container 테스트

도커 사용 그룹 설정하기

sudo groupadd docker
sudo usermod -aG docker $USER # 사용자 계정명
newgrp docker # 업데이트

도커 이미지 만들기

<public-key error> : 키 미등록으로 도커 이미지 안 만들어지는 경우 키 등록

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <public-key> # <키 등록>

도커 이미지 확인하기 : https://hub.docker.com/ 에서 도커 이미지들 검색하기

[예: jupyter notebook docker 이미지 만들기 및 실행하기]

  1. base 도커 이미지 받아오기

https://hub.docker.com/r/jupyter/datascience-notebook

docker pull jupyter/datascience-notebook:python-3.10.5

 

  1. 도커 파일 생성하기 (반드시 파일명은 Dockerfile 이여야 함)
FROM jupyter/datascience-notebook:python-3.10.5
MAINTAINER Lim suyun <"e-mail address">

RUN ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
WORKDIR /data/work_space

ADD requirement.txt /data/work_space
RUN pip install -r ./requirement.txt

CMD ["bash"]
  • FROM 도커이미지명:태그
  • MAINTAINER 도커 만든 사람 정보
  • RUN 도커 파일에서 도커 이미지를 만들 때, SHELL 에서 실행되는 명령어
    • ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime # 기본 리눅스 환경의 시간은 UTC이기 때문에 한국 표준시로 변경
  • WORKDIR 작업 폴더 지정
  • ADD 도커 이미지 생성시 필요한 파일 업로드
  • CMD 도커 이미지 실행시 기본적으로 실행되는 명령어
    • CMD [”bash”] : /bin/bash 상태로 작업 테스트를 할 수 있음
    • CMD [”python3] : python3가 바로 실행됨

 

  1. 도커 이미지 만들기 (Dockerfile이 있는 디렉토리로 변경하여 실행)
docker build --tag jupyter_envs:1.0 .

도커 이미지 실행하기

  1. 도커 주피터 서버 실행  : username 이하의 디렉토리는 맞춰서 사용하고 '/home/jovyan/work/tmp'은 고정하여 사용함
docker run --rm -it -p 8888:8888 -v="/home/username/data_EDA:/home/jovyan/work/tmp" jupyter_envs:1.0

  1. <처음 실행시> 토큰 입력하여 로그인 : 토큰은 위의 노란색 부분에 있는 것을 복사해서 넣으면 된다.

  1. 주피터 노트북 실행

  1. 주피터 노트북 서버 정지 : Ctrl+C   누르기

* /work/tmp로 이동하면 마운트된 폴더의 파일들을 확인할 수 있다.

반응형