ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Docker]Docker 설치하기(Ubuntu)
    Ops/Docker 2022. 5. 10. 21:48

      최근 들어 MSA(Micro Service Architecture)가 대세로 떠오르면서 MSA의 단점인 관리의 복잡성을 해결해주기 위해 서비스의 컨테이너화가 이루어지면서 Docker를 활발이 사용하게 되었습니다. 컨테이너 == Docker 가 될 만큼 Docker 성장세는 무섭게 올라가고 있습니다. 오늘은 우분투(Ubuntu) 환경에 도커를 설치해보겠습니다. 

     

    Docker

    컨테이너 기술을 사용하여 애플리케이션에 필요한 환경을 신속하게 구축하고 테스트 및 배포를 할 수 있게 해주는 소프트웨어 플랫폼 입니다. 컨테이너란 애플리케이션 소스 코드를 임의의 환경에서 해당 코드의 실행에 필요한 운영체제 라이브러리 및 종속 항목과 결합하는 실행 가능한 표준 컴포넌트를 말합니다. Docker를 사용하지 않고도 컨테이너를 구축할 수 있지만 Docker 플랫폼을 이용하면 쉽고 간편하고 안전하게 컨테이너를 빌드, 배포, 관리할 수 있습니다.

     

    Docker-CE 

    패키지 저장소 추가

     오래된 버전의 도커가 설치되어 있다면 먼저 삭제합니다.

    sudo apt-get remove docker docker-engine docker.io

      Apt 패키지 관리자를 업데이트 Docker 설치에 필요한 패키지들을 설치합니다.

    sudo apt-get update && sudo apt-get install \
        apt-transport-https \
        ca-certificates \
        curl \
        software-properties-common

    아래의 명령어를 사용하여 Docker 공식 gpg key와 저장소를 추가합니다.

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

    현재의 우분투 버전에서 Docker 패키지가 검색이 되는지 확인합니다.

    sudo apt-get update && sudo apt-cache search docker-ce
    
    # 정상적으로 패키지가 검색된다면 아래와 같은 내용이 출력됩니다. 
    docker-ce - Docker: the open-source application container engine

     

    Docker CE Install

    아래의 명령어로 Dokcer CE 버전을 설치합니다.

    sudo apt-get update && sudo apt-get install docker-ce

     그리고 일반 사용자 계정으로 docker 명령어를 사용하기 위해서 아래의 명령어로 그룹을 추가 후 도커를 재실행합니다.

    sudo usermod -aG docker $USER
    
    sudo systemctl restart docker

    일반 사용자를 docker 그룹에 추가하지 않을 경우,  sudo 권한이 아닌 일반 사용자로 docker 명령 실행 시 아래와 같은 오류가 발생할 수 있습니다.

    Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.39/containers/json?all=1: dial unix /var/run/docker.sock: connect: permission denied

    설치가 제대로 되었는지 확인합니다. 

    docker run hello-world

     

     

     

    Nvidia-docker 설치

    Docker 안에서 NVIDIA의 GPU를 이용하시면서 여러 환경의 CUDA Tookit을 이용하실 경우 호스트 운영체제에 NVIDIA 드라이버가 설치되어 있는 상태에서 nvidia-docker라는 확장 기능을 사용해야 합니다. 

     

    NVIDIA 드라이버가 설치 되어 있는 상태에서 아래의 명령어를 사용하여  nvidia-docker  gpg 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를 설치 후 docker를 다시 실행합니다.

    sudo apt-get install -y nvidia-container-toolkit
    sudo systemctl restart docker

    호환되는  CUDA 버전의 컨테이너를  docker hub에서 다운로드하여 아래와 같이 실행해서 gpu 가 사용 가능한지 확인합니다.

    docker run --gpus all nvidia/cuda:11.2-base nvidia-smi

     

     

     

Designed by Tistory.