實作在 Docker 環境中使用 GPU
發佈於 October 15, 2023
- 在 ubuntu 環境進行測試
- 以下主要有三大部分,有安裝Docker、安裝Nvidia Driver、安裝NVIDIA Container Toolkit。其中NVIDIA Container Toolkit 有兩種方法,挑其中一種進行安裝即可。
安裝Docker
如有需要更詳細的安裝,可參考官方教學。
-
移除舊版Docker (可選)
sudo apt-get remove docker docker-engine docker.io containerd runc
-
更新apt安裝包以及所需的相關套件
sudo apt-get update sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release
-
加入docker的官方GPG Key
sudo mkdir -m 0755 -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
-
設置repository
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
-
更新apt安裝包
sudo apt-get update
-
安裝docker
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
-
確認是否安裝成功
sudo docker run hello-world
安裝Nvidia Driver
-
移除舊的Nvidia Driver
sudo apt-get purge nvidia* sudo apt-get autoremove sudo apt-get autoclean sudo rm -rf /usr/local/cuda*
-
查詢安裝版本,點此連結到官網查詢。
-
安裝Nvidia Driver
sudo apt update sudo apt install nvidia-utils-<版號前三碼> sudo apt install nvidia-driver-<版號前三碼>
-
重啟電腦
sudo reboot
-
確認安裝成功
nvidia-smi
安裝NVIDIA Container Toolkit
如有需要更詳細的安裝,可參考官方教學。
-
設定repo以及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
-
配置 Docker daemon
sudo nvidia-ctk runtime configure --runtime=docker
-
重啟 Docker
sudo systemctl restart docker
-
測試是否安裝成功
sudo docker run --rm --runtime=nvidia --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi
安裝NVIDIA Container Toolkit (nvidia-docker2)
-
設定repo以及GPG key
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
-
安裝 nvidia-docker2
sudo apt-get update sudo apt-get install -y nvidia-docker2
-
重啟 Docker
sudo systemctl restart docker
-
測試是否安裝成功
sudo docker run --rm --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi