꺼내먹는지식 준

Docker ce 설치 on windows 본문

카테고리 없음

Docker ce 설치 on windows

알 수 없는 사용자 2023. 3. 31. 21:38

다음의 과정을 걸친다. 

 

WSL 설치, ubuntu 설치, Docker, Cuda toolkit  설치 

 

WSL, ubuntu, Docker 관련 내용은 WSL, Docker 글을 살펴보자. 

 

WSL 설치  

 

https://www.lainyzine.com/ko/article/how-to-install-wsl2-and-use-linux-on-windows-10/

 

[Windows 10] WSL2 설치 및 사용법

Microsoft에서는 2020년 5월 리눅스를 윈도우와 통합해서 사용할 수 있는 WSL2를 발표했습니다. 이 글에서는 WSL2를 설치하고 사용하는 방법을 소개합니다

www.lainyzine.com

 

위 글이 워낙 내용을 잘 정리하고 있어, 실전 설치 내용만 간략하게 아래 정리한다. 

 

WSL 설치를 위한 사전 진행 사항 

 

Windows 업데이트 (안전빵)

Powershell 관리자 모드로 실행 

 

DISM으로 WSL 관련 기능 활성화

 

DISM(배포 이미지 서비스 및 관리) 명령어로 Microsoft-Windows-Subsystem-Linux 기능을 활성화합니다.

$ dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
버전: 10.0.19041.844

이미지 버전: 10.0.19043.928
기능을 사용하도록 설정하는 중
[==========================100.0%==========================]

 

DISM명령어로 VirtualMachinePlatform 기능을 활성화

$ dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
배포 이미지 서비스 및 관리 도구

이미지 버전: 10.0.19043.928

기능을 사용하도록 설정하는 중
[==========================100.0%==========================]
작업을 완료했습니다.

 

재부팅 진행 (안해도 문제 없긴 했지만 안전빵)

 

WSL 설치 

 

WSL2 Linux 커널 업데이트 

https://learn.microsoft.com/ko-kr/windows/wsl/install#step-4---download-the-linux-kernel-update-package

 

WSL 설치

wsl --install 명령을 사용하여 Linux용 Windows 하위 시스템을 설치합니다. Ubuntu, Debian, SUSE, Kali, Fedora, Pengwin, Alpine 등 원하는 Linux 배포판에서 실행되는 Windows 머신에서 Bash 터미널을 사용할 수 있습니

learn.microsoft.com

 

wsl --install

 

한 줄이면 설치가 끝나나, 설치 외 부가 정보를 얻고 싶으면 위 링크를 살펴보자. 

 

버전이 1인지 2인지 확인하고 싶으면, powershell 을 닫았다가 다시 관리자 모드로 킨 후 wsl -l -v 를 쳐서 확인해보자. 

 

ubuntu 는 마이크로 소프트 스토어에서 설치 

 

ubuntu가 켜지면 사용자 이름과 패스워드를 설정한다. 

 

 

powershell을 다시 실행 한 후 아래와 같이 나오는지 확인해보자. 

$ wsl -l -v
  NAME      STATE           VERSION
* Ubuntu    Running         2

 

Docker 를 설치해보자. 

https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker

 

Installation Guide — NVIDIA Cloud Native Technologies documentation

On RHEL 7, install the nvidia-container-toolkit package (and dependencies) after updating the package listing: Restart the Docker daemon to complete the installation after setting the default runtime: Note Depending on how your RHEL 7 system is configured

docs.nvidia.com

 

위 글에 대부분의 내용이 있지만, 실수하기 좋은 부분을 아래에 작성한다. 

 

curl https://get.docker.com | sh \
  && sudo systemctl --now enable docker

 

systemctl 에서 오류가 나는 경우가 많다. 

 

여러 해결법이 많이 제시되지만, 성공적이었던 방법은 아래와 같다. 

(출처: https://github.com/microsoft/WSL/issues/8883 답글이 워낙 많아 아래에서 제시하는 해결법을 찾기 어렵다.)

 

 

WSL에 로그인 

 

wsl

 

/etc폴더 wsl.conf 파일 생성 

sudo nano /etc/wsl.conf

 

파일 안에 다음의 내용을 추가해준다. 

[boot]
systemd=true

 

cntrl + s로 저장하고 cntrl + x 로 파일 종료 

 

shell 종료 

exit

 

wsl shutdown 

wsl --shutdown

 

wsl 재시작 

wsl

 

package repository 를 setup 하고 GPG key 를 넣어줘야한다. 마찬가지로 여러 방법이 있지만 아래 코드를 입력하는 것이 가장 수월하다. 

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
      && curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
      && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
            sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
            sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

 

Nvidia container toolkit 설치

 

sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

 

마지막으로 글에서는 나와있지 않지만 유의해야 하는 부분이있다. 

 

아래 명령어를 보면 cuda 의 버전이 11.6.2, ubuntu 의 버전이 20.04 이다. 

sudo docker run --rm --runtime=nvidia --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi

아무생각 없이 복사하다보니 버전을 안맞춰서 한참 고민했다. 버전을 꼭 맞춰주자. 

 

cuda 버전 확인은 nvidia-smi 로 확인할 수 있고, 우분투의 버전은 lsb_release -a 로 확인할 수 있다. 

혹시 gpu 드라이버가 설치되어 있지 않다면 설치가 선행이다. 

 

 

만약 root user 가 아니라 docker 사용이 거부된다면 아래 내용을 참고하자. 

https://stackoverflow.com/questions/48957195/how-to-fix-docker-got-permission-denied-issue

 

How to fix docker: Got permission denied issue

I installed Docker in my machine where I have Ubuntu OS. When I run: sudo docker run hello-world All is ok, but I want to hide the sudo command to make the command shorter. If I write the command

stackoverflow.com

 

Comments