安裝Docker GPU版本的過程及遇到坑的解決
首先,安裝的 Docker 版本并不支持 GPU,因此需要安裝支持 GPU 的 Docker 版本。然而,在安裝和配置過程中,遇到了一系列問題和挑戰(zhàn)。
錯(cuò)誤的安裝步驟
以下是我在嘗試安裝 GPU 版本時(shí),執(zhí)行的錯(cuò)誤操作:
# 安裝 NVIDIA 驅(qū)動(dòng) sudo apt-get update sudo apt-get install -y nvidia-driver-460 # 添加 NVIDIA 運(yùn)行時(shí)配置 sudo mkdir -p /etc/systemd/system/docker.service.d sudo tee /etc/systemd/system/docker.service.d/override.conf <<EOF [Service] ExecStart= ExecStart=/usr/bin/dockerd --host=fd:// --add-runtime=/usr/bin/nvidia EOF # 重新啟動(dòng) Docker 服務(wù) sudo systemctl daemon-reload sudo systemctl restart docker
這段腳本是根據(jù) GPT 提供的方案執(zhí)行的,但我沒有注意到它可能會(huì)導(dǎo)致一些問題。最終我發(fā)現(xiàn),在執(zhí)行完該腳本后,Docker 無法啟動(dòng),并且出現(xiàn)了以下錯(cuò)誤:
xtx@dell-PowerEdge-R750:~$ nvidia-docker --version nvidia-docker: command not found
發(fā)現(xiàn)問題:NVIDIA 驅(qū)動(dòng)安裝沖突
接下來,我發(fā)現(xiàn) nvidia-smi
無法執(zhí)行,也無法找到 NVIDIA 相關(guān)的命令。通過檢查 NVIDIA 驅(qū)動(dòng),發(fā)現(xiàn)系統(tǒng)中安裝了多個(gè)版本的 NVIDIA 驅(qū)動(dòng)。
dpkg -l | grep nvidia
于是,我嘗試卸載了 nvidia-driver-460
,但問題依舊存在:
sudo apt-get remove --purge nvidia-driver-460
多次嘗試卸載仍然沒有解決問題,驅(qū)動(dòng)仍然有沖突。于是決定徹底清理所有 NVIDIA 驅(qū)動(dòng),并重新安裝:
# 清除所有 NVIDIA 驅(qū)動(dòng) sudo apt-get purge nvidia* # 更新包管理器 sudo apt-get update # 安裝正確版本的 NVIDIA 驅(qū)動(dòng) sudo apt-get install nvidia-driver-470 nvidia-utils-470
重新安裝驅(qū)動(dòng)后,雖然成功安裝了 NVIDIA 驅(qū)動(dòng),但執(zhí)行 nvcc -V
命令時(shí)沒有任何輸出。這時(shí)我懷疑問題可能與 CUDA Toolkit 無關(guān),因?yàn)樵诎惭b驅(qū)動(dòng)時(shí)并沒有安裝 CUDA。
權(quán)限問題及解決
接下來,我檢查了 ~/.bashrc
文件,確認(rèn)路徑?jīng)]有問題。然而,考慮到權(quán)限問題,我以 root 用戶身份進(jìn)行檢查,發(fā)現(xiàn)沒有問題。這一步解決了驅(qū)動(dòng)的問題。
安裝 Docker GPU 版本及其問題
接下來,我按照官方教程安裝 Docker 的 GPU 版本,并配置了相應(yīng)的 NVIDIA 運(yùn)行時(shí)。但在啟動(dòng) Docker 時(shí),遇到了如下錯(cuò)誤:
(tx) xtx@dell-PowerEdge-R750:/data/xtx/nnUNet/nnunetv2/inference$ systemctl status docker.service Warning: The unit file, source configuration file or drop-ins of docker.service changed on disk. Run 'systemctl daemon-reload' to reload units. × docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Drop-In: /etc/systemd/system/docker.service.d └─override.conf Active: failed (Result: exit-code) since Thu 2025-01-16 13:39:52 CST; 7min ago TriggeredBy: × docker.socket Docs: https://docs.docker.com Process: 113728 ExecStart=/usr/bin/dockerd --host=fd:// --add-runtime=/usr/bin/nvidia (code=exited, status=1/FAILURE) Main PID: 113728 (code=exited, status=1/FAILURE) CPU: 92ms
解決問題的過程
一開始,我嘗試按照網(wǎng)上的建議修改 /etc/docker/daemon.json
文件,切換到國內(nèi)鏡像源。然而,修改后仍然報(bào)錯(cuò)。接著,我打開了 override.conf
文件,發(fā)現(xiàn)最初配置中使用了 ExecStart=/usr/bin/dockerd --host=fd:// --add-runtime=/usr/bin/nvidia
這一行,而這一行實(shí)際上導(dǎo)致了啟動(dòng)失敗。
最終,我刪除了這行配置,并重新加載并重啟了 Docker 服務(wù):
# 重新加載 systemd 配置 sudo systemctl daemon-reload # 重啟 Docker 服務(wù) sudo systemctl restart docker
此時(shí),Docker 成功啟動(dòng),問題得到解決。
簡單總結(jié)一下
平常使用GPT習(xí)慣了,感覺簡單問題直接按照它的命令行輸入就行,沒有仔細(xì)理解該指令背后的含義,從而導(dǎo)致版本沖突。另外,發(fā)生問題太依賴GPT和教程了,缺少自己的反思。
再面對類似的問題時(shí),應(yīng)該從頭逐步排除法,從系統(tǒng)配置到具體服務(wù)的每一步都要仔細(xì)檢查。解決問題的關(guān)鍵往往是細(xì)致入微的排查和多角度的分析。即便是看似簡單的操作,背后也可能隱藏著復(fù)雜的系統(tǒng)交互和配置依賴。
到此這篇關(guān)于安裝Docker GPU版本的過程及遇到坑的解決的文章就介紹到這了,更多相關(guān)安裝Docker GPU版本內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker存儲(chǔ)目錄問題以及如何修改Docker默認(rèn)存儲(chǔ)位置
在Docker中,默認(rèn)情況下數(shù)據(jù)存儲(chǔ)路徑為/var/lib/docker,隨著容器和鏡像數(shù)量的增加,這可能會(huì)占用大量磁盤空間,這篇文章主要給大家介紹了關(guān)于Docker存儲(chǔ)目錄問題以及如何修改Docker默認(rèn)存儲(chǔ)位置的相關(guān)資料,需要的朋友可以參考下2024-08-08Docker的鏡像制作與整套項(xiàng)目一鍵打包部署的實(shí)現(xiàn)
這篇文章主要介紹了Docker的鏡像制作與整套項(xiàng)目一鍵打包部署的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02使用docker部署django技術(shù)棧項(xiàng)目的方法步驟
這篇文章主要介紹了使用docker部署django技術(shù)棧項(xiàng)目的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09docker網(wǎng)絡(luò),docker-compose?network問題
這篇文章主要介紹了docker網(wǎng)絡(luò),docker-compose?network問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01Linux Docker安裝wordpress的方法詳解教程
這篇文章主要介紹了Linux Docker安裝wordpress的方法詳解教程的相關(guān)資料,需要的朋友可以參考下2016-10-10使用Docker安裝部署MySQL和Redis的詳細(xì)過程
這篇文章主要介紹了使用Docker安裝部署MySQL和Redis,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-06-06Docker安裝阿里云服務(wù)器和在虛擬機(jī)安裝遇到的坑(問題小結(jié))
這篇文章主要介紹了Docker安裝阿里云服務(wù)器和在虛擬機(jī)安裝遇到的坑,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03