-
[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