国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

windows wsl2 docker+k8s+cuda容器無法啟動(dòng)問題解決

這篇具有很好參考價(jià)值的文章主要介紹了windows wsl2 docker+k8s+cuda容器無法啟動(dòng)問題解決。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

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/overlay2/752c7d9dab7757b8cb12c97e51b0d12325f5135cc96c7bb73d61ae2273907f01/merged/usr/lib/x86_64-linux-gnu/libnvidia-ml.so.1: file exists: unknown.

提示文件已存在,需要?jiǎng)h除

故障原因:

nvidia-docker最古老的容器內(nèi)nvidia gpu的調(diào)用是需要在鏡像(或容器)中安裝與宿主機(jī)nvidia顯卡驅(qū)動(dòng)兼容的驅(qū)動(dòng)版本,但是這一要求比較難以滿足,因?yàn)槿绻拗鳈C(jī)的nvidia驅(qū)動(dòng)略低于docker容器下nvidia驅(qū)動(dòng)版本就很容易出現(xiàn)forward compatibility錯(cuò)誤,而比較可行的就是容器內(nèi)的nvidia驅(qū)動(dòng)版本略低于宿主機(jī)版本。正是因?yàn)樽钤绲膎vidia-docker這個(gè)難以保證宿主機(jī)和容器的nvidia驅(qū)動(dòng)版本匹配,因此現(xiàn)在的nvidia-docker使用的方案是在制作docker鏡像時(shí)不安裝nvidia driver和cuda,而是在nvidia-docker容器啟動(dòng)時(shí)自動(dòng)把宿主機(jī)中的nvidia driver和cuda映射給容器,對(duì)應(yīng)的nvidia-docker啟動(dòng)容器時(shí)附加參數(shù)為 --gpus all,但是有一些人對(duì)這個(gè)原理并不是很了解因此在制作鏡像的時(shí)候依舊會(huì)把nvidia driver和cuda打包進(jìn)去【應(yīng)該是在做鏡像的時(shí)候不應(yīng)該把--gpus all參數(shù)加進(jìn)去】。由于wsl下對(duì)物理機(jī)的nvidia顯卡是使用模擬的方式,這時(shí)的wsl中使用的nvidia驅(qū)動(dòng)其實(shí)是wsl-nvidia-driver,也正是由于該驅(qū)動(dòng)的一些特性導(dǎo)致在wsl中如果使用nvidia-docker啟動(dòng)自身帶有nvidia driver和cuda的容器就會(huì)在啟動(dòng)時(shí)報(bào)錯(cuò)。其報(bào)錯(cuò)的故障具體點(diǎn)為wsl使用nvidia-docker啟動(dòng)容器時(shí)在自動(dòng)創(chuàng)建/usr/lib/x86_64-linux-gnu/libnvidia-ml.so.1文件和/usr/lib/x86_64-linux-gnu/libcuda.so.1文件時(shí)會(huì)判斷鏡像中是否有相同的文件,如果有則報(bào)錯(cuò),也就是本文開頭說提的報(bào)錯(cuò)信息,而在ubuntu物理機(jī)上使用nvidia-docker首次啟動(dòng)容器時(shí)即使鏡像中存在/usr/lib/x86_64-linux-gnu/libnvidia-ml.so.1文件和/usr/lib/x86_64-linux-gnu/libcuda.so.1文件也會(huì)對(duì)其進(jìn)行強(qiáng)制覆蓋(強(qiáng)制映射)(該種覆蓋并不會(huì)影響容器的保存,比如在使用docker commit時(shí)對(duì)應(yīng)的文件依舊是原鏡像中的文件,而不是nvidia-docker映射給的宿主機(jī)中對(duì)應(yīng)的文件)

解決方案:

1. 使用docker而不是nvidia-docker啟動(dòng)原始鏡像下的容器,

sudo docker run --rm -it? 14.14.15.100:5000/pytorch/pytorch:20.08-py3-cuda11

2、在該容器下,手動(dòng)刪除或改名文件/usr/lib/x86_64-linux-gnu/libnvidia-ml.so.1和文件/usr/lib/x86_64-linux-gnu/libcuda.so.1 ,

mv /usr/lib/x86_64-linux-gnu/libnvidia-ml.so.1? /usr/lib/x86_64-linux-gnu/libnvidia-ml.so.1.bak

mv /usr/lib/x86_64-linux-gnu/libcuda.so.1? /usr/lib/x86_64-linux-gnu/libcuda.so.1.bak

或者運(yùn)行下面的三行命令也行

rm /usr/lib/x86_64-linux-gnu/libnvidia-*
rm /usr/lib/x86_64-linux-gnu/libcuda.so*
rm /usr/lib/x86_64-linux-gnu/libnvcuvid.so.*

3、然后在另開一個(gè)終端執(zhí)行,把此時(shí)的容器打包為鏡像,具體操作:

使用下面的命令得到ID:

docker ps -a?

打包該容器為新的鏡像:

sudo docker commit? contrainer_id? image_name:new_tag文章來源地址http://www.zghlxwxcb.cn/news/detail-639140.html

到了這里,關(guān)于windows wsl2 docker+k8s+cuda容器無法啟動(dòng)問題解決的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【2023最新版】Win11: WSL(Ubuntu22.04)使用docker遠(yuǎn)程容器教程(Windows的Docker Desktop下載安裝、遷移到非系統(tǒng)盤、配置國(guó)內(nèi)鏡像源、設(shè)置 WSL2)

    【2023最新版】Win11: WSL(Ubuntu22.04)使用docker遠(yuǎn)程容器教程(Windows的Docker Desktop下載安裝、遷移到非系統(tǒng)盤、配置國(guó)內(nèi)鏡像源、設(shè)置 WSL2)

    目錄 一、準(zhǔn)備工作 1. 安裝WSL(適用于 Linux 的 Windows 子系統(tǒng)) 2. docker簡(jiǎn)介——來源chatGPT 二、Windows安裝 Docker Desktop 1. 官網(wǎng)鏈接 2. 安裝過程 3. 遷移到非系統(tǒng)盤 4.?配置國(guó)內(nèi)鏡像源 國(guó)內(nèi)鏡像 方法1——通過Docker-Desktop配置 方法2——找打daemon.json文件進(jìn)行配置 三、在適用于 Wind

    2024年02月12日
    瀏覽(43)
  • 解決WSL2無法啟動(dòng)提示“找不到元素”

    最近一段時(shí)間沒有看 docker desktop,忽然想起來打開看看,結(jié)果死活啟動(dòng)不了。以前卸載之后,重新安裝就好了,同樣的方法嘗試了很多次還是不太行,重啟也不行... 后來想想是不是 wsl 出了問題,運(yùn)行 WSA ,WSAClient 啟動(dòng)后又自動(dòng)退出了。在命令行下運(yùn)行 wsl,等待了很久,出現(xiàn)

    2024年02月13日
    瀏覽(23)
  • K8S:K8S自動(dòng)化運(yùn)維容器Docker集群

    K8S:K8S自動(dòng)化運(yùn)維容器Docker集群

    (1)K8S全程為Kubernetes,由于K到S直接有8個(gè)字母簡(jiǎn)稱為K8S。 (2)版本:目前一般是1.18~1.2.0,后續(xù)可能會(huì)到1.24-1.26,1.24版本后丟棄了docker(如需要使用需要第三方插件配合),目前最新版本是1.27 (3)官網(wǎng):https://kubernetes.io GitHub:GitHub - kubernetes/kubernetes: Production-Grade Container S

    2024年02月10日
    瀏覽(43)
  • 容器技術(shù)之Docker&K8S

    容器技術(shù)之Docker&K8S

    區(qū)別:1、k8s是一種開放源碼的容器集群管理系統(tǒng),而Docker是一種開放源碼的應(yīng)用容器引擎;2、k8s是一套自動(dòng)化部署工具,可以管理docker容器是容器編排層面的,docker是容器化技術(shù),是容器層面的。 Docker本身并不是容器,它是創(chuàng)建容器的工具,是應(yīng)用容器引擎。一句話總結(jié)就

    2024年02月08日
    瀏覽(26)
  • k8s pod 無法啟動(dòng)一直ContainerCreating

    k8s pod 無法啟動(dòng)一直ContainerCreating

    查看詳細(xì)信息如下 Failed to create pod sandbox: rpc error: code = Unknown desc = [failed to set up sandbox container “334d991a478b9640c66c67b46305122d7f0eefc98b2b4e671301f1981d9b9bc6” network for pod “yupay-vip-5c4bb7db5c-s6m52”: networkPlugin cni failed to set up pod “yupay-vip-5c4bb7db5c-s6m52_yupay” network: error getting ClusterInforma

    2024年04月28日
    瀏覽(15)
  • WSL2使用Nvidia-Docker實(shí)現(xiàn)CUDA版本自由切換

    WSL2使用Nvidia-Docker實(shí)現(xiàn)CUDA版本自由切換

    眾所周知,深度學(xué)習(xí)的環(huán)境往往非常麻煩,經(jīng)常不同的項(xiàng)目所依賴的 torch、tensorflow 包對(duì) CUDA 的版本也有不同的要求,Linux 下進(jìn)行 CUDA 的管理比較麻煩,是一個(gè)比較頭疼的問題。 隨著 WSL2 對(duì)物理機(jī)顯卡的支持,Nvidia-Docker 也提供了對(duì)容器顯卡的支持。我們可以通過拉取不同的

    2024年02月02日
    瀏覽(29)
  • K8S:K8S自動(dòng)化運(yùn)維容器化(Docker)集群程序

    K8S:K8S自動(dòng)化運(yùn)維容器化(Docker)集群程序

    目錄 一、K8S概述 1、什么是K8S 2、為什么要用K8S 3、作用及功能 二、K8S的特性 1、彈性伸縮 2、自我修復(fù) 3、服務(wù)發(fā)現(xiàn)和復(fù)制均衡 5、自動(dòng)發(fā)布和回滾 6、集中化配置管理和秘鑰管理 7、存儲(chǔ)編排 8、任務(wù)批量處理運(yùn)行 三、K8S的集群架構(gòu) 四、K8S的核心組件 1、Master組件 ①Kube-apis

    2024年02月12日
    瀏覽(40)
  • k8s無法正常啟動(dòng)使用,排查:etcd損壞

    k8s無法正常啟動(dòng)使用,排查:etcd損壞

    問題: 在跑項(xiàng)目的時(shí)候,機(jī)器意外斷電了,重啟后發(fā)現(xiàn)kubectl無法使用,報(bào)錯(cuò)如下: 排查: 1、 Unable to register node with API server\\\" err=“Post “https://192.168.18.101:6443/api/v1/nodes”: dial tcp 192.168.18.101:6443: connect: connection refused” node=\\\"k8s-master01 發(fā)現(xiàn)連接不到apiserver 2、然后我到docker容器

    2024年02月07日
    瀏覽(22)
  • docker在k8s容器中的作用,以及docker的底層原理,以及k8s的常用命令

    ? ? Docker的設(shè)計(jì)思想就是創(chuàng)建軟件程序可移植性的輕量級(jí)容器,讓其可以在任何安裝了Docker的機(jī)器上,不用關(guān)心底層操作系統(tǒng),就可以運(yùn)行開發(fā)程序,就像集裝箱一樣使用。 Docker 是一個(gè)開源的應(yīng)用容器引擎,基于 Go 語言 并遵從Apache2.0協(xié)議開源。 Docker 可以讓開發(fā)者打包他們

    2024年04月27日
    瀏覽(35)
  • 容器技術(shù),1. Docker,2. Kubernetes(K8s):

    容器技術(shù),1. Docker,2. Kubernetes(K8s):

    目錄 容器技術(shù) 1. Docker: 2. Kubernetes(K8s): Docker和Kubernetes 容器的主要應(yīng)用場(chǎng)景有哪些? 有效的將單個(gè)操作系統(tǒng)的資源劃分到孤立的組中,以便更好的在孤立的組之間平衡有沖突的資源使用需求,這種技術(shù)就是容器技術(shù)。 容器技術(shù)指通過在物理主機(jī)操作系統(tǒng)上創(chuàng)建一個(gè)一個(gè)

    2024年02月11日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包