在wsl-ubuntu中如何通过 docker 启动 gpu-jupyter
作者:engchina
在 wsl-ubuntu 里通过 docker 启动 gpu-jupyter
0. 背景
今天突然想尝试一下在 wsl-ubuntu 里通过 docker 启动支持 gpu 的 jupyter,那就开始着手干吧。
1. 安装 docker-ce
在 wsl-ubuntu 里面安装 docker-ce,先运行以下命令卸载所有冲突的包,
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
使用 apt 存储库安装,设置 Docker 的 apt 存储库。
# 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
通过运行 hello-world 映像来验证 Docker 引擎安装是否成功。
sudo docker run hello-world
您现在已经成功安装并启动了 Docker Engine。
refer: https://docs.docker.com/engine/install/ubuntu/
2. 安装 NVIDIA Container Toolkit
使用 Apt 安装,配置生产存储库,
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
从存储库更新包列表,
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 命令配置容器运行
使用 nvidia-ctk 命令配置容器运行时,
sudo nvidia-ctk runtime configure --runtime=docker
nvidia-ctk 命令修改主机上的 /etc/docker/daemon.json 文件。该文件已更新,以便 Docker 可以使用 NVIDIA 容器运行时。
重新启动 Docker 守护进程,
sudo systemctl restart docker
refer: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html
4. 通过 docker 运行 nvidia-smi
使用 Docker 运行示例工作负载,
sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi
输入结果如下,
refer: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/sample-workload.html
5. 运行 gpu-jupyter
使用 Docker 运行 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 进行访问,
7. 测试 gpu-jupyter 是否可以访问 cuda
import torchtorch.cuda.is_available()
torch.__version__
输出结果如下,
完结!
到此这篇关于在wsl-ubuntu中如何通过 docker 启动 gpu-jupyter的文章就介绍到这了,更多相关docker 启动 gpu-jupyter内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!