完全離線安裝docker,cuda,nvidia-docker
系統是剛裝好的ubuntu server 16.04.4 顯示卡是gtx1080ti,注意,如果不是16.04.4的版本,有可能會出現pcie的報錯
首先要安裝cuda,首先,聯網情況下在一模一樣的剛裝的系統中安裝cuda,安裝好後,這時候會裝很多的依賴庫,注意,所有的依賴庫都會儲存在/var/cache/apt/archives/ 下面,這時候,需要對這些依賴庫作處理:
$sudo mkdir /var/debs $sudo cp /var/cache/apt/archives/* /var/debs/ $sudo touch /var/debs/Packages.gz $sudo chmod -R 777 /var/debs/ $sudo dpkg-scanpackages debs /dev/null | gzip > debs/Packages.gz
這樣,就得到了Packages.gz這個檔案,這個檔案就記錄著這些庫的依賴關係
然後,將整個/var/debs/裡的所有檔案複製到離線伺服器中隨便一個新建目錄(假設是/home/yourname/debs/,注意,這裡資料夾的名字也必須是debs)
接著都是在離線伺服器上的操作:
$sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb $sudo apt-key add /var/cuda-repo-<version>/7fa2af80.pub $sudo gedit /etc/apt/sources.list 將sources.list 原來的內容都註釋掉。在最後新增 deb file:/var debs/ 注意上面的 /var 和 debs/ 之間的空格,以及 “/”。不要寫錯/var/debs/路徑了。 $sudo apt-get update $sudo apt-get install cuda
這樣,cuda就裝好了,接下來安裝docker和nvidia-docker:
下載一些docker_ce的依賴:
$mkdir docker_depends
$cd docker_depends
$apt-get download init-system-helpers_1.29ubuntu4_all.deb iptables_1.6.0-2ubuntu3_amd64.deb \
libc6_2.23-0ubuntu10_amd64.deb libdevmapper1.02.1_2%3a1.02.110-1ubuntu10_amd64.deb \
libltdl7_2.4.6-0.1_amd64.deb libseccomp2_2.3.1-2.1ubuntu2~16.04.1_amd64.deb \
libsystemd0_229-4ubuntu21.4_amd64.deb lsb-base_9.20160110ubuntu0.2_all.deb
這幾個包是沒有安裝順序的,直接dpkg 裝就好了
$apt-get download docker-ce_18.06.1~ce~3-0~ubuntu_amd64.deb
不知道這一步行不行,總之就是要找到這個版本的docker安裝包,其它版本不保證沒有新的依賴或者依賴版本不對
順便下載nvidia-docker的依賴:
$apt-get download libnvidia-container1_1.0.0-1_amd64.deb libnvidia-container-tools_1.0.0-1_amd64.deb\
nvidia-container-runtime_2.0.0+docker18.06.1-1_amd64.deb nvidia-container-runtime-hook_1.4.0-1_amd64.deb\
nvidia-docker2_2.0.3+docker18.06.1-1_all.deb
下載完後,將所有檔案複製到離線伺服器中,先安裝docker-ce,然後nvidia-docker的依賴包順序是:
libnvidia-container1_1.0.0-1_amd64.deb libnvidia-container-tools_1.0.0-1_amd64.deb nvidia-container-runtime-hook_1.4.0-1_amd64.deb nvidia-container-runtime_2.0.0+docker18.06.1-1_amd64.deb nvidia-docker2_2.0.3+docker18.06.1-1_all.deb
的操作來執行nvidia-docker就好了