在wsl-ubuntu中如何通過 docker 啟動(dòng) gpu-jupyter
在 wsl-ubuntu 里通過 docker 啟動(dòng) gpu-jupyter
0. 背景
今天突然想嘗試一下在 wsl-ubuntu 里通過 docker 啟動(dòng)支持 gpu 的 jupyter,那就開始著手干吧。
1. 安裝 docker-ce
在 wsl-ubuntu 里面安裝 docker-ce,先運(yùn)行以下命令卸載所有沖突的包,
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
使用 apt 存儲(chǔ)庫(kù)安裝,設(shè)置 Docker 的 apt 存儲(chǔ)庫(kù)。
# Add Docker's official GPG key: sudo apt-get update sudo apt-get install ca-certificates curl gnupg sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg # Add the repository to Apt sources: echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update
安裝 Docker 軟件包。
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
通過運(yùn)行 hello-world 映像來(lái)驗(yàn)證 Docker 引擎安裝是否成功。
sudo docker run hello-world
您現(xiàn)在已經(jīng)成功安裝并啟動(dòng)了 Docker Engine。
refer: https://docs.docker.com/engine/install/ubuntu/
2. 安裝 NVIDIA Container Toolkit
使用 Apt 安裝,配置生產(chǎn)存儲(chǔ)庫(kù),
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/stable/deb/nvidia-container-toolkit.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
從存儲(chǔ)庫(kù)更新包列表,
sudo apt-get update
安裝 NVIDIA Container Toolkit 軟件包,
sudo apt-get install -y nvidia-container-toolkit
refer: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html
3. 使用 nvidia-ctk 命令配置容器運(yùn)行
使用 nvidia-ctk 命令配置容器運(yùn)行時(shí),
sudo nvidia-ctk runtime configure --runtime=docker
nvidia-ctk 命令修改主機(jī)上的 /etc/docker/daemon.json 文件。該文件已更新,以便 Docker 可以使用 NVIDIA 容器運(yùn)行時(shí)。
重新啟動(dòng) Docker 守護(hù)進(jìn)程,
sudo systemctl restart docker
refer: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html
4. 通過 docker 運(yùn)行 nvidia-smi
使用 Docker 運(yùn)行示例工作負(fù)載,
sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi
輸入結(jié)果如下,
refer: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/sample-workload.html
5. 運(yùn)行 gpu-jupyter
使用 Docker 運(yùn)行 gpu-jupyter,
mkdir /u01/data/jupyter-work; chmod 777 /u01/data/jupyter-work docker run --gpus all -d --name gpu-jupyter --network host -v /u01/data/jupyter-work:/home/jovyan/work -e GRANT_SUDO=yes -e JUPYTER_ENABLE_LAB=yes --user root cschranz/gpu-jupyter:v1.6_cuda-12.0_ubuntu-22.04
refer: https://github.com/iot-salzburg/gpu-jupyter
6. 訪問 gpu-jupyter
查看 gpu-jupyter 的 login token,
token=$(docker exec -it gpu-jupyter jupyter server list | grep -oP '(?<=token=)[a-zA-Z0-9]+') echo $token
使用瀏覽器打開 http://127.0.0.1:8888/lab 進(jìn)行訪問,
7. 測(cè)試 gpu-jupyter 是否可以訪問 cuda
import torchtorch.cuda.is_available()
torch.__version__
輸出結(jié)果如下,
完結(jié)!
到此這篇關(guān)于在wsl-ubuntu中如何通過 docker 啟動(dòng) gpu-jupyter的文章就介紹到這了,更多相關(guān)docker 啟動(dòng) gpu-jupyter內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker啟動(dòng)安裝nacos的實(shí)現(xiàn)示例
本文主要介紹了Docker啟動(dòng)安裝nacos的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-09-09docker報(bào)錯(cuò)Container is not running問題及解決
這篇文章主要介紹了docker報(bào)錯(cuò)Container is not running問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05Docker基于macvlan實(shí)現(xiàn)跨主機(jī)容器通信
這篇文章主要介紹了Docker基于macvlan實(shí)現(xiàn)跨主機(jī)容器通信,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05Docker?安裝Tomcat、實(shí)現(xiàn)Tomcat集群的詳細(xì)過程
這篇文章主要介紹了Docker安裝Tomcat、實(shí)現(xiàn)Tomcat集群,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-06-06Docker進(jìn)階之構(gòu)建自定義鏡像實(shí)戰(zhàn)指南
從docker鏡像倉(cāng)庫(kù)中下載的鏡像不能滿足我們的需求時(shí),可以對(duì)鏡像進(jìn)行更改,下面這篇文章主要給大家介紹了關(guān)于Docker進(jìn)階之構(gòu)建自定義鏡像實(shí)戰(zhàn)的相關(guān)資料,需要的朋友可以參考下2022-07-07關(guān)于ROS2安裝與docker環(huán)境使用
大家好,本篇文章主要講的是關(guān)于ROS2安裝與docker環(huán)境使用,感興趣的同學(xué)趕快來(lái)看看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12使用docker部署grafana+prometheus配置
這篇文章主要介紹了docker部署grafana+prometheus配置,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12