Ubuntu
無法在仿生 Ubuntu 18.04 LTS 上安裝 nvidia-docker2
我是新手,
Docker
使用Linux
. 嘗試增加GIT
項目(託管在 Github 上的機器學習項目)。該項目使用 GPU (Nvidia) 並依賴於Docker
並nvidia-docker2
以Python (3.5)
.在README.md之後,我成功繼續,直到安裝時出現錯誤
nvidia-docker2
。(自述文件的第一部分,包括安裝nvidia-docker2
在上面的連結中)。詳細說明一下,README.md 文件有一個關於如何執行項目的分步安裝指南,它從安裝 nvidia 驅動程序和其他庫開始,我可以安裝這些庫並驗證它們是否正常工作。但是在安裝時
nvidia-docker2
:sudo apt-get install -y nvidia-docker2
我收到以下錯誤:
The following packages have unmet dependencies: nvidia-docker2 : Depends: docker-ce (= 18.03.1~ce~3-0~ubuntu) but 18.05.0~ce~3-0~ubuntu is to be installed or docker-ee (= 18.03.1~ee~3-0~ubuntu) but it is not
歡迎任何幫助評論!請參閱下面的一些其他詳細說明,在文章的末尾,我描述了我解決此問題的一些嘗試。
謝謝!
一些闡述:
我到達了我必須安裝 docker 的部分,它執行良好,(引用自README.md)我執行:
sudo apt-get update sudo apt-get remove docker docker-engine docker.io sudo apt-get install apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt-get update sudo apt-get install docker-ce sudo docker run hello-world sudo usermod -a -G docker $USER
它工作正常,我可以驗證:
sudo apt-get install -y nvidia-docker2
所以當我檢查
sudo docker version
我得到了我擁有的仿生 ubuntu 的最新 docker。
Client: Version: 18.05.0-ce API version: 1.37 Go version: go1.9.5 Git commit: f150324 Built: Wed May 9 22:16:13 2018 OS/Arch: linux/amd64 Experimental: false Orchestrator: swarm Server: Engine: Version: 18.05.0-ce API version: 1.37 (minimum version 1.12) Go version: go1.9.5 Git commit: f150324 Built: Wed May 9 22:14:23 2018 OS/Arch: linux/amd64 Experimental: false
然後我可以檢查 docker 是否已設置並可以執行:
sudo docker run hello-world
所以我得到:
Hello from Docker! [...]
但是,當我繼續閱讀 README.md 上的下一個指令塊時,我必須在其中進行安裝,
nvidia-docker2
但出現錯誤:我跑
docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f sudo apt-get purge -y nvidia-docker curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia- docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt-get update
最後:
sudo apt-get install -y nvidia-docker2
出現錯誤:
Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: nvidia-docker2 : Depends: docker-ce (= 18.03.1~ce~3-0~ubuntu) but 18.05.0~ce~3-0~ubuntu is to be installed or docker-ee (= 18.03.1~ee~3-0~ubuntu) but it is not installable E: Unable to correct problems, you have held broken packages.
我試圖做些什麼來解決這個問題:
- 我用Google搜尋了我的問題,並在 nvidia-github 上找到了這張票。票已關閉,但(可能是由於缺乏對 linux 的經驗)我可以得到他們真正所說
nvidia-docker2
的——Ubuntu18.04 根本不支持嗎?- 在同一張票上, rockper的最後一篇文章建議安裝
docker.io
而不是docker-ce
,這應該可以解決nvidia-docekr2
問題。我聽從了他的建議,即安裝docker.io
(我也/etc/apt/sources.list
按照 Rockper 的建議進行了編輯)。然後我可以驗證我是否已成功安裝docker.io
,即:.
sudo docker version Client: Version: 17.12.1-ce API version: 1.35 Go version: go1.10.1 Git commit: 7390fc6 Built: Wed Apr 18 01:23:11 2018 OS/Arch: linux/amd64 Server: Engine: Version: 17.12.1-ce API version: 1.35 (minimum version 1.12) Go version: go1.10.1 Git commit: 7390fc6 Built: Wed Feb 28 17:46:05 2018 OS/Arch: linux/amd64 Experimental: false
docker.io
這是ubuntu 上的最新 軟體包。但我仍然得到一個錯誤(雖然報告有點不同)sudo apt-get install -y nvidia-docker2 The following packages have unmet dependencies: nvidia-docker2 : Depends: docker-ce (= 18.03.1~ce~3-0~ubuntu) but it is not going to be installed or docker-ee (= 18.03.1~ee~3-0~ubuntu) but it is not installable E: Unable to correct problems, you have held broken packages.
我通過安裝特定的 docker-ce(社區版)包而不是最新的(版本 18.05)解決了這個問題
sudo apt-get install -y docker-ce=18.03.13-0~ubuntu
安裝 docker-ce 的完整說明可以在https://docs.docker.com/install/linux/docker-ce/ubuntu/找到