欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

CentOS7 Nvidia Docker環(huán)境搭建

 更新時間:2018年02月24日 13:37:48   作者:bearyin  
本篇文章主要介紹了CentOS7 Nvidia Docker環(huán)境搭建,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

最近在搞tensorflow的一些東西,話說這東西是真的皮,搞不懂。但是環(huán)境還是磕磕碰碰的搭起來了

其實本來是沒想到用docker的,但是就一臺配置較好的服務器,還要運行公司的其他環(huán)境,vmware esxi用起來太費勁,還是算了。

環(huán)境:

系統(tǒng):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文件,但是之后搞的時候發(fā)現(xiàn)有點問題,修改了一下,可以從這兒復制

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

大概步驟就是這樣,如果出現(xiàn)問題,可以直接網(wǎng)上找一找,應該不會太難

安裝和啟動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

出錯,但是咱們已經(jīng)下載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的環(huán)境就搭建好了。

TensorFlow

把下載的cudnn包用docker cp復制到docker中,解壓下來,將里面的lib64路徑添加到 /etc/ld.so.conf.d/nvidia.conf 中,運行l(wèi)dconfig,就ok了。

上面的環(huán)境好了以后,再安裝python等等軟件,這就不說了。之后tensorflow的一些例子就可以在docker里運行了。當然你得安裝gpu版本的,才能發(fā)揮顯卡的威力。

另外也可以不必要這么麻煩,有已經(jīng)制作好的鏡像可以拿來用,可以參考:https://hub.docker.com/r/tensorflow/tensorflow/

其他

另外也有現(xiàn)成的cuda鏡像可以用,參考:https://hub.docker.com/r/nvidia/cuda/  

直接使用命令:docker pull nvidia/cuda 就可以下載鏡像了,只不過這是ubuntu版本的,和我們的生成環(huán)境不符,如果要其他版本的可以參考上面的例子。

最后

這一段時間沒有寫什么東西,另外之前的關于圖形繪圖的東西,一直沒扔,已經(jīng)有很多東西可以和大家分享了,只不過時間很少,還沒來得及整理。等有空了就能聽著音樂在屏幕前磨洋工了,KeKe~。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Docker下SqlServer發(fā)布訂閱啟用的方法

    Docker下SqlServer發(fā)布訂閱啟用的方法

    發(fā)布訂閱主要用來做數(shù)據(jù)庫的讀寫分離,當單臺數(shù)據(jù)庫的壓力太大時,可以考慮這種方案,本文主要介紹了Docker下SqlServer發(fā)布訂閱啟用的方法,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • docker和docker-compose一鍵安裝教程(支持在線和離線)

    docker和docker-compose一鍵安裝教程(支持在線和離線)

    這篇文章主要介紹了docker和docker-compose一鍵安裝(支持在線和離線),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • Docker超詳細講解鏡像操作

    Docker超詳細講解鏡像操作

    鏡像也是?docker?的核心組件之一,鏡像時容器運行的基礎,容器是鏡像運行后的形態(tài)。本文主要介紹Docker鏡像的基本操作,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • 詳解掛載運行的docker容器中如何掛載文件系統(tǒng)

    詳解掛載運行的docker容器中如何掛載文件系統(tǒng)

    這篇文章主要給大家介紹了如何在掛載運行中的docker容器中掛載文件系統(tǒng),文中通過一步步的實踐過程介紹的很詳細,相信對有需要的朋友們來說具有一定的參考借鑒價值,感興趣的朋友們下面來一起看看吧。
    2016-12-12
  • Dockerfile中multi-stage(多階段構建)詳解

    Dockerfile中multi-stage(多階段構建)詳解

    在2017年5月3日即將發(fā)行的 Docker 17.05.0-ce 中,Docker 官方提供了簡便的多階段構建 (multi-stage build) 方案,下面這篇文章主要給大家介紹了關于Dockerfile中multi-stage(多階段構建)的相關資料,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧。
    2018-03-03
  • Docker下部署lnmp詳細步驟

    Docker下部署lnmp詳細步驟

    大家好,本篇文章主要講的是Docker下部署lnmp詳細步驟,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • 使用Docker部署war包項目的實現(xiàn)

    使用Docker部署war包項目的實現(xiàn)

    這篇文章主要介紹了使用Docker部署war包項目的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • Docker常見命令介紹

    Docker常見命令介紹

    這篇文章介紹了Docker中的常見命令,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-03-03
  • docker-compose創(chuàng)建網(wǎng)橋,添加子網(wǎng),刪除網(wǎng)卡的實現(xiàn)

    docker-compose創(chuàng)建網(wǎng)橋,添加子網(wǎng),刪除網(wǎng)卡的實現(xiàn)

    這篇文章主要介紹了docker-compose創(chuàng)建網(wǎng)橋,添加子網(wǎng),刪除網(wǎng)卡的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • docker安裝clickhouse過程詳解

    docker安裝clickhouse過程詳解

    這篇文章主要為大家介紹了docker安裝clickhouse過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08

最新評論