docker: Error response from daemon: OCI runtime create failed
docker: Error response from daemon: OCI runtime create failed
前言
這個錯誤是筆者在使用以下指令:
NV_GPU=0,1 nvidia-docker run --name tensorflow -td -p 8888:8888 -p 6006:6006 keineahnung2345/tensorflow-opencv:test2
時發生的。
註:keineahnung2345/tensorflow-opencv:test2
錯誤訊息
docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused “process_linux.go:402: container init caused “process_linux.go:385: running prestart hook 1 caused \“error running hook: exit status 1, stdout: , stderr: exec command: [/usr/bin/nvidia-container-cli --load-kmods configure
[email protected]/sbin/ldconfig --device=0,1 --compute --utility --require=cuda>=9.0 --pid=1590 /var/lib/docker/overlay/59fd505d308da926ed463e79cf3e6b857c2e70911da40985c5673231cc934741/merged]\\nnvidia-container-cli: requirement error: unsatisfied condition: cuda >= 9.0\\n\”””: unknown.
發生原因
錯誤訊息中提到cuda>=9.0,去
發現果然是TensorFlow 1.9要求CUDA版本需高於9.0。
接著查詢cuda與nvidia driver相容性的表格,
發現CUDA 9.0需要的nvidia driver版本必須大於等於384版。
查詢一下機器上的nvidia driver版本:
nvidia-smi
結果顯示為375.26版,低於要求的384版。
這代表我們必須要重灌nvidia driver了,安裝教程詳見:(多圖)CentOS下安裝NVIDIA driver的超詳細教程。
安裝完成後再次使用nvidia-docker run
的指令可能會出現以下錯誤:
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
使用以下指令後問題即可順利解決!
systemctl start docker
參考連結
(多圖)CentOS下安裝NVIDIA driver的超詳細教程
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?錯誤及解決方式
TensorFlow - GPU support
What is the correct version of CUDA for my nvidia driver?
CUDA compute capability requirements