• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >虚拟化 > CentOS7 Nvidia Docker环境搭建

CentOS7 Nvidia Docker环境搭建

作者:bearyin 字体:[增加 减小] 来源:互联网

本文主要包含CentOS7,Nvidia,Docker等服务器相关知识,bearyin 希望可以进行参考

最近在搞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%]
Updatin
  


 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • VMware14 上安装CentOS 7 图文教程
  • CentOS 7中搭建KVM虚拟化平台的方法步骤
  • CentOS7虚拟机安装并配置docker套件
  • centos7更改docker仓库的方法
  • Centos7下安装与卸载docker应用容器引擎的方法
  • CentOS7.2服务器上搭建Docker私有镜像仓库操作示例
  • VMWare 虚拟机Centos7安装Oracle数据库的教程图解
  • centos7搭建docker私人仓库的方法(kubernetes)
  • CentOS7.2下安装docker容器教程
  • VirtualBox下CentOS7网络配置教程(可连外网)

相关文章

  • VMWare Workstation虚拟机访问外网的图文教程
  • Virtualbox主机和虚拟机之间文件夹共享及双向拷贝(Windows<->Windows, Windows<->Linux)
  • 使用Docker部署Spring Boot的应用示例
  • xenserver虚拟机实时性能查看方法
  • 浅谈关于Docker容器互联的初步实践
  • Centos 6.5中安装docker的步骤(简洁版)
  • 在Centos7 中更改Docker默认镜像和容器的位置
  • VMWare Workation双网卡配置IP地址的图文教程
  • 应用集成之痛:云时代也不能止痛
  • Docker安装及基本使用方法详细介绍

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • 某集团任意文件下载到虚拟主机getshell的方法
    • Docker实现分布式应用功能教程
    • 详解如何用docker安装laravel开发环境
    • VmWare下CentOS6安装图文教程
    • Docker简单安装与应用入门教程
    • Centos下安装docker教程
    • Docker高级教程之智能添加与修改防火墙规则
    • vmware12中安装 RedHat RHEL7.2系统的详细步骤(图文)
    • VMware Workstation安装配置方法图文教程
    • 解决docker pull被复位出现的问题

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有