对于想了解nvidia-docker安装的读者,本文将是一篇不可错过的文章,我们将详细介绍nvidiadocker安装,并且为您提供关于Centosdockernvidia-docker安装、Cent
对于想了解nvidia-docker 安装的读者,本文将是一篇不可错过的文章,我们将详细介绍nvidia docker 安装,并且为您提供关于Centos docker nvidia-docker安装、Centos7 - 安装 nvidia-docker、CentOS7 Nvidia Docker环境搭建、CentOS7安装nvidia-docker的有价值信息。
本文目录一览:- nvidia-docker 安装(nvidia docker 安装)
- Centos docker nvidia-docker安装
- Centos7 - 安装 nvidia-docker
- CentOS7 Nvidia Docker环境搭建
- CentOS7安装nvidia-docker
nvidia-docker 安装(nvidia docker 安装)
1、安装 docker
官方网址安装说明
https://docs.docker.com/install/linux/docker-ce/ubuntu/
2、ubuntu 14.04/16.04/18.04, Debian Jessie/Stretch
# If you have nvidia-docker 1.0 installed: we need to remove it and all existing GPU containers
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
# Add the package repositories 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 # Install nvidia-docker2 and reload the Docker daemon configuration sudo apt-get install -y nvidia-docker2 sudo pkill -SIGHUP dockerd # Test nvidia-smi with the latest official CUDA image docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi
查看nvidia-docker安装情况:sudo apt show nvidia-docker2
Centos docker nvidia-docker安装
1.典型报错
UnkNown runtime specified nvidia
2.安装方法
docker volume ls -q -f driver=nvidia-docker |xargs -r -I{} -n1 docker ps -q -a -f volume={} |xargs -r docker rm -f
sudo yum remove nvidia-docker
distribution=$(. /etc/os-release;echo$ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo |\
sudo tee /etc/yum.repos.d/nvidia-docker.repo
sudo yum install -y nvidia-docker2
sudo pkill -SIGHUP dockerd
Centos7 - 安装 nvidia-docker
CentOS7 Nvidia Docker环境搭建
最近在搞tensorflow的一些东西,话说这东西是真的皮,搞不懂。但是环境还是磕磕碰碰的搭起来了
其实本来是没想到用docker的,但是就一台配置较好的服务器,还要运行公司的其他环境,vmware esxi用起来太费劲,还是算了。
环境:
系统:CentOS7 7.4 1708
显卡:Nvidia 1080Ti
下载所有需要的东东
1、docker-ce yum repo : https://download.docker.com/linux/centos/docker-ce.repo
2、nvidia-docker yum repo : https://nvidia.github.io/nvidia-docker/centos7/x86_64/nvidia-docker.repo
3、nvidia cuda yum repo : http://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-repo-rhel7-9.1.85-1.x86_64.rpm
4、nvidia cudnn : https://developer.nvidia.com/cudnn
这个东西需要注册nvidia账号,就不给直接下载地址了。
5、nvidia驱动 : http://www.nvidia.cn/Download/index.aspx?lang=cn
按自己的显卡型号下载
6、nvidia docker file : https://hub.docker.com/r/nvidia/cuda/
这里面可以看到很多dockerfile,选择
9.0-base-centos7 (9.0/base/Dockerfile)
其他的cuda9.1这些应该也可以用,另外有像devel和runtime这样的,其实就是yum安装的cuda包不太一样,没多大关系。
点进去后复制下来保存为Dockerfile文件,但是之后搞的时候发现有点问题,修改了一下,可以从这儿复制
FROM centos:7 LABEL maintainer "NVIDIA CORPORATION <cudatools@nvidia.com>" RUN NVIDIA_GPGKEY_SUM=d1be581509378368edeec8c1eb2958702feedf3bc3d17011adbf24efacce4ab5 && \ curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/7fa2af80.pub | sed ''/^Version/d'' > /etc/pki/rpm-gpg/RPM-GPG-KEY-NVIDIA && \ echo "$NVIDIA_GPGKEY_SUM /etc/pki/rpm-gpg/RPM-GPG-KEY-NVIDIA" | sha256sum -c --strict - #COPY cuda.repo /etc/yum.repos.d/cuda.repo ENV CUDA_VERSION 9.0.176 ENV CUDA_PKG_VERSION 9-0-$CUDA_VERSION-1 #RUN yum install -y \ # cuda-cudart-$CUDA_PKG_VERSION && \ # ln -s cuda-9.0 /usr/local/cuda && \ # rm -rf /var/cache/yum/* # nvidia-docker 1.0 LABEL com.nvidia.volumes.needed="nvidia_driver" LABEL com.nvidia.cuda.version="${CUDA_VERSION}" RUN echo "/usr/local/nvidia/lib" >> /etc/ld.so.conf.d/nvidia.conf && \ echo "/usr/local/nvidia/lib64" >> /etc/ld.so.conf.d/nvidia.conf ENV PATH /usr/local/nvidia/bin:/usr/local/cuda/bin:${PATH} ENV LD_LIBRARY_PATH /usr/local/nvidia/lib:/usr/local/nvidia/lib64 # nvidia-container-runtime ENV NVIDIA_VISIBLE_DEVICES all ENV NVIDIA_DRIVER_CAPABILITIES compute,utility ENV NVIDIA_REQUIRE_CUDA "cuda>=9.0"
所有的文件
[root@localhost nvidia]# pwd /root/nvidia [root@localhost nvidia]# ll total 420000 drwxr-xr-x. 2 root root 4096 Feb 10 10:50 centos-gpu -rw-r--r--. 1 root root 3335 Jan 29 10:36 cuda-repo-rhel7-9.1.85-1.x86_64.rpm -rw-r--r--. 1 root root 348817823 Feb 6 16:26 cudnn-9.0-linux-x64-v7.tgz -rw-r--r--. 1 root root 2424 Feb 9 10:36 docker-ce.repo -rw-r--r--. 1 root root 796 Feb 9 17:11 nvidia-docker.repo -rwxr-xr-x. 1 root root 81242220 Jan 31 14:19 NVIDIA-Linux-x86_64-390.25.run
centos-gpu里有Dockerfile文件
准备工作
直接上命令,一看就明白
[root@localhost nvidia]# cp docker-ce.repo nvidia-docker.repo /etc/yum.repos.d/ [root@localhost nvidia]# rpm -ivh cuda-repo-rhel7-9.1.85-1.x86_64.rpm [root@localhost nvidia]# yum install epel-release [root@localhost nvidia]# yum install gcc gcc-c++ [root@localhost nvidia]# yum install kernel*
安装驱动
[root@localhost nvidia]# echo "blacklist nouveau" >>/etc/modprobe.d/blacklist.conf [root@localhost nvidia]# mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak dracut -v /boot/initramfs-$(uname -r).img $(uname -r) [root@localhost nvidia]# init 3 [root@localhost nvidia]# chmod +x NVIDIA-Linux-x86_64-390.25.run [root@localhost nvidia]# ./NVIDIA-Linux-x86_64-390.25.run
大概步骤就是这样,如果出现问题,可以直接网上找一找,应该不会太难
安装和启动docker
[root@localhost nvidia]# yum install docker-ce nvidia-docker [root@localhost nvidia]# systemctl enable docker [root@localhost nvidia]# systemctl start docker [root@localhost nvidia]# systemctl enable nvidia-docker [root@localhost nvidia]# systemctl start nvidia-docker
记得显卡驱动一定要先装好,nvidia-docker才能正常启动
制作docker镜像
[root@localhost nvidia]# yum install cuda-cudart-9-0-9.0.176-1 [root@localhost nvidia]# ln -s cuda-9.0 /usr/local/cuda [root@localhost nvidia]# nvidia-docker build -t centos-nvidia /root/nvidia/centos-gpu
如果你是用的我修改的Dockfile应该不会有什么问题,如果你是用的原版的,可能会在
#COPY cuda.repo /etc/yum.repos.d/cuda.repo
出错,但是咱们已经下载cuda 的 repo,并安装了,所以这一步可以不用。
镜像制作结束后,可以用命令 docker images 查看一下:
[root@localhost centos-gpu]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos-nvidia latest a02c8e0ad5ca 2 hours ago 207MB
如果有这一行应该就算是成功了。
生成docker
[root@localhost centos-gpu]# nvidia-docker run --name="centos-gpu2" -ti a02c /bin/bash [root@34d532e76913 /]# nvidia-smi Sat Feb 10 03:42:20 2018 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 390.25 Driver Version: 390.25 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce GTX 108... Off | 00000000:02:00.0 Off | N/A | | 23% 17C P8 8W / 250W | 10MiB / 11178MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+ [root@34d532e76913 /]# exit
如果类似于上面的输出结果,差不多就可以了。
使用Docker
[root@localhost centos-gpu]# nvidia-docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 34d532e76913 a02c "/bin/bash" 3 minutes ago Exited (0) 12 seconds ago centos-gpu2 d16c2db2bf2e a02c "/bin/bash" 2 hours ago Exited (0) 19 minutes ago centos-gpu 370671db8df1 3afd "/bin/bash" 19 hours ago Exited (137) 3 hours ago centos-dronemap [root@localhost centos-gpu]# nvidia-docker start 34d5 34d5 [root@localhost centos-gpu]# nvidia-docker cp /root/nvidia/cuda-repo-rhel7-9.1.85-1.x86_64.rpm 34d532e76913:/root [root@localhost centos-gpu]# nvidia-docker exec -ti 34d5 /bin/bash [root@34d532e76913 /]# cd [root@34d532e76913 ~]# ls anaconda-ks.cfg cuda-repo-rhel7-9.1.85-1.x86_64.rpm [root@34d532e76913 ~]# rpm -ivh cuda-repo-rhel7-9.1.85-1.x86_64.rpm warning: cuda-repo-rhel7-9.1.85-1.x86_64.rpm: Header V3 RSA/SHA512 Signature, key ID 7fa2af80: NOKEY Preparing... ################################# [100%] Updating / installing... 1:cuda-repo-rhel7-9.1.85-1 ################################# [100%] [root@34d532e76913 ~]# yum install cuda-*9-0*
这里需要注意的是类似于 34d532e76913 这样的编号,是docker自动生成的,运行的时候需要修改一下。
到目前基本上cuda的环境就搭建好了。
TensorFlow
把下载的cudnn包用docker cp复制到docker中,解压下来,将里面的lib64路径添加到 /etc/ld.so.conf.d/nvidia.conf 中,运行ldconfig,就ok了。
上面的环境好了以后,再安装python等等软件,这就不说了。之后tensorflow的一些例子就可以在docker里运行了。当然你得安装gpu版本的,才能发挥显卡的威力。
另外也可以不必要这么麻烦,有已经制作好的镜像可以拿来用,可以参考:https://hub.docker.com/r/tensorflow/tensorflow/
其他
另外也有现成的cuda镜像可以用,参考:https://hub.docker.com/r/nvidia/cuda/
直接使用命令:docker pull nvidia/cuda 就可以下载镜像了,只不过这是ubuntu版本的,和我们的生成环境不符,如果要其他版本的可以参考上面的例子。
最后
这一段时间没有写什么东西,另外之前的关于图形绘图的东西,一直没扔,已经有很多东西可以和大家分享了,只不过时间很少,还没来得及整理。等有空了就能听着音乐在屏幕前磨洋工了,KeKe~。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
- 在CentOS 7上安装Docker环境的方法与注意事项
- 详解docker镜像centos7配置Java运行环境
- 详解Centos6.5下docker 环境搭建
- centos搭建部署docker环境的详细步骤
CentOS7安装nvidia-docker
主要来源:https://blog.csdn.net/chenfeidi1/article/details/80866944
依赖条件
安装 nvidia-docker
启动 nvidia-docker 服务
使用 nvidia-docker
依赖条件
如果使用的 Tensorflow 版本大于 1.4.0,要求 CUDA 9.0 以上版本。
安装 nvidia-docker
下载安装包:
$ wget https://github.com/NVIDIA/nvidia-docker/releases/download/v1.0.1/nvidia-docker-1.0.1-1.x86_64.rpm
安装:
$ rpm -ivh nvidia-docker-1.0.1-1.x86_64.rpm
启动 nvidia-docker 服务
$ sudo systemctl restart nvidia-docker
执行以下命令,若结果显示 active(running) 则说明启动成功:
$ systemctl status nvidia-docker.service
...
Active: active (running) since Thu 2018-05-10 14:12:25 CST; 5s ago
...
使用 nvidia-docker
查看 GPU 信息:
$ nvidia-docker run --rm nvidia/cuda nvidia-smi
启动 Tensorflow:
$ docker pull tensorflow/tensorflow:1.8.0-gpu-py3
$ docker tag tensorflow/tensorflow:1.8.0-gpu-py3 tensorflow:1.8.0-gpu
$ nvidia-docker run -it -p 8888:8888 tensorflow:1.8.0-gpu
今天关于nvidia-docker 安装和nvidia docker 安装的讲解已经结束,谢谢您的阅读,如果想了解更多关于Centos docker nvidia-docker安装、Centos7 - 安装 nvidia-docker、CentOS7 Nvidia Docker环境搭建、CentOS7安装nvidia-docker的相关知识,请在本站搜索。
本文标签: