Win Docker Desktop + WSL2 部署PyTorch-CUDA服务至k8s算力集群

这篇具有很好参考价值的文章主要介绍了Win Docker Desktop + WSL2 部署PyTorch-CUDA服务至k8s算力集群。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Win Docker Desktop + WSL2 安装

首先根据你的操作系统版本 安装WSL ,记得切换WSL2,其次 安装Docker Desktop,如果Docker安装后一直无法加载WSL,卸载后重新安装时不要勾选WSL,安装后去设置里面勾上WSL即可。

安装WSL-Ubuntu

wsl -l -v
wsl --install Ubuntu-18.04

Windows中运行以上代码,WSL中安装Ubuntu是为了方便在docker容器中挂载数据。

拉取镜像并测试

docker pull cnstark/pytorch:2.0.0-py3.9.12-cuda11.8.0-ubuntu20.04
docker run -it --rm --gpus all cnstark/pytorch:2.0.0-py3.9.12-cuda11.8.0-ubuntu20.04
nvcc -V
nvidia-smi
python
>>> import torch
>>> torch.cuda.is_available()

去WSL-Ubuntu系统中运行以上命令,拉取镜像并激活容器。这时候由于--gpus all命令,容器内使用的是宿主机上的英伟达驱动,也就是说你的Windows里得有CUDA和CUDNN。注意,在k8s算力集群中并无法简单挂载宿主机的显卡驱动。部署过程中宿主机中CUDA版本和容器内CUDA版本不一致也能正常部署,但是不排除有兼容性问题。

挂载数据并开放端口

docker run -it --gpus all -p 0.0.0.0:你的程序端口:你的目标端口 --shm-size="4g" -v /etc/localtime:/etc/localtime -v /mnt/c/你的电脑上的数据路径:/workspace cnstark/pytorch:2.0.0-py3.9.12-cuda11.8.0-ubuntu20.04
# 以下代码在容器内运行
cp -r /workspace/你的数据文件夹/code/ /workspace/code/
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip install flask pandas numpy scipy easy-torch easydict einops scikit-learn torchdiffeq fastdtw packaging setproctitle torchinfo torch-summary

去WSL-Ubuntu系统中运行以上命令,注意如果是Flask,建议app.run(port=你的程序端口, debug=False, host='0.0.0.0', threaded=True)运行。

导出镜像或导入镜像

docker info
docker images
docker ps -a
docker export 你的镜像ID > /mnt/c/路径/image.tar
docker import /mnt/c/路径/image.tar straka/ts_server_231102:v0.1
docker save -o /mnt/c/路径/image.tar straka/ts_server_231102:v0.1
docker load --input /mnt/c/路径/image.tar

去WSL-Ubuntu系统中运行以上命令。

在k8s集群部署

环境变量:NVIDIA_DRIVER_CAPABILITIES=compute,utility,端口转发按需配置,默认运行"/bin/bash",自动运行bash -c "cd /workspace/code && python server.py"。由于英伟达驱动挂载问题,需要重新软链接驱动(libcuda.so和libnvidia-ml.so)后才能识别到显卡。在容器内运行:文章来源地址https://www.toymoban.com/news/detail-812983.html

ldconfig # 查看软链接错误的so库
find -name libcuda* # 查看软链接错误的so库所在之处
ls /usr/lib/x86_64-linux-gnu # 一般在这个路径
cd /usr/lib/x86_64-linux-gnu
rm libcuda.so
rm libcuda.so.1
ln -s libcuda.so.525.105.17 libcuda.so
# 注意,525.105.17与宿主机具体安装的驱动版本有关,不同机器需要自行ls /usr/lib/x86_64-linux-gnu后找到size libcuda.so.xxx 大于0的文件
find  -name libnvidia-ml*
rm libnvidia-ml.so.1
ln -s libnvidia-ml.so.525.105.17 libnvidia-ml.so.1
ldconfig # 再次检查是否有遗漏

nvcc -V
nvidia-smi
python
>>> import torch
>>> torch.cuda.is_available()

到了这里,关于Win Docker Desktop + WSL2 部署PyTorch-CUDA服务至k8s算力集群的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于 Docker Desktop、WSL2 搭建双系统 Docker 环境

    Docker Desktop :可以理解为是 Docker 的桌面版,或者是 Windows 系统上运行的 Docker 服务。 WSL2 :可以理解为是 Windows 上的一个工具,通过 WSL2 可以在 Windows 上运行 Linux 子系统。 通过 Docker Desktop、WSL2 方式搭建的双系统 Docker 环境,可以实现在 Windows 服务器上同时运行 Windows 和 L

    2024年02月13日
    浏览(52)
  • Docker Desktop+WSL2并安装到D盘

    1. 安装路径建立软连接 docker desktop默认安装到上图位置,使用如下命令建立软连接,命令如下: 注:以管理员身份打开cmd mklink /j “C:Program FilesDocker” “D:Program FilesDocker” 2、镜像存储路径建立软连接 上图为docker desktop默认的存储镜像路径,命令如下 mklink /j “C:Users139

    2024年02月03日
    浏览(94)
  • Docker Desktop 更新4.25.1版本后出现WSL2报错

     近期发现 Docker Desktop 有新版本可以更新,结果操作后  再打包它就闪退了。无奈只能删除 Docker Desktop 后下载新版本安装程序进行重装,然后依次出现2个弹窗上面显示如下报错内容。  第一个弹窗:   打开win11 命令行输入 wsl  --shutdown , 再次尝试打开 Docker Des

    2024年02月04日
    浏览(77)
  • Win11基于WSL2安装CUDA、cuDNN和TensorRT(2023-03-01)

    如果有小伙伴看了2023-03-05更新,发现设置环境变量后运行cuda代码在链接过程中仍然会有报错问题啥的,那我这里建议,先别管2023-03-05更新的内容了,还是按照我博客里的安装步骤一步一步往下安装,用 sudo apt install nvidia-cuda-toolkit 命令去安装nvcc,也不需要配置环境变量了。

    2024年02月02日
    浏览(52)
  • 基于 WSL2、 Docker Desktop搭建Windows和Linux系统 Docker 环境

    目录 介绍 环境 安装教程 开启 WSL2 服务 安装 CentOS 系统 安装 docker Desktop 其他  安装镜像 WSL 命令使用 Docker-Desktop 储存路径更改 WSL2 :可以理解为是 Windows 上的一个工具,通过 WSL2 可以在 Windows 上运行 Linux 子系统。  Docker Desktop :可以理解为是 Docker 的桌面版,或者是 W

    2024年01月20日
    浏览(52)
  • 【Docker Desktop】Windows11家庭版安装docker desktop和WSl2(Ubuntu22.04)并完成迁移,配置国内镜像

    目录 一、准备工作 ① 安装Hyper-V ②开启电脑的虚拟化技术,如何确定是否开启了虚拟化技术 ③ 启动Windows功能 二、安装WSl 三、移动Ubuntu 22.04.2 LTS 四、迁移 WSL2 安装位置 五、安装Docker Desktop 六、配置Docker Desktop  七、测试 因为win11家庭版本身是不支持hyper-V的,需要手动安装

    2024年01月20日
    浏览(64)
  • 最新版Docker Desktop安装在windows10上会出现的WSL2错误

    有科技的可以去这个帖子看,解决WSL是最新版也无法运行docker的情况 查了很多帖子都是牛头不对马嘴,不说废话直接上解决方案 Docker.Core.HttpBadResponseException: {“message”:“2 errors occurred:nt* provisioning docker WSL distros: running wsl-bootstrap version set in main distro: exit status 1nt* checking

    2024年02月02日
    浏览(70)
  • WSL2使用Nvidia-Docker实现CUDA版本自由切换

    众所周知,深度学习的环境往往非常麻烦,经常不同的项目所依赖的 torch、tensorflow 包对 CUDA 的版本也有不同的要求,Linux 下进行 CUDA 的管理比较麻烦,是一个比较头疼的问题。 随着 WSL2 对物理机显卡的支持,Nvidia-Docker 也提供了对容器显卡的支持。我们可以通过拉取不同的

    2024年02月02日
    浏览(59)
  • win10+WSL2+docker配置历程

    不管是为了以后多一个工具还是多一份知识,单纯觉得应该了解应该学习。记录一下并不顺利的docker配置之路。 首先附上我的万能师兄的搭建之路,指导意义那是顶呱呱。 ZzPwn01:属于2023年的Pwn环境搭建(Docker in WSL) - 简书 (jianshu.com) 同样是师兄推荐,Docker从入门到实践,

    2024年01月19日
    浏览(50)
  • windows wsl2 docker+k8s+cuda容器无法启动问题解决

    docker: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error running hook #1: error running hook: exit status 1, stdout: , stderr: Auto-detected mode as \\\'legacy\\\' nvidia-container-cli: mount error: file creation failed: /var/lib/docker/overl

    2024年02月13日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包