深度学习环境配置一直是大家学习AI的拦路虎,不管你是久经沙场的大佬,还是初出茅庐的小伙,相信你肯定被linux系统环境坑过。快到周末了,咱们就不聊高深莫测的算法了,今天咱们就聊下神器docker的环境配置
作者&编辑 | 汤兴旺
docker是什么,这里不多讲,你可以拿它当做虚拟机来使用,但是它和虚拟机相比,差异还是很大的,它有以下优势,
1、docker容器上的程序,直接使用物理机的硬件资源,cpu、Gpu、内存等利用率上有很大的优势。
2、docker镜像方便传播,使用别人的环境,找到提供好的docker文件自动配置就行了。
![7bf52b082eb9c81d5d10597833dc6ae9.png](https://i-blog.csdnimg.cn/blog_migrate/ac87ff5a91e455afc9b151a214d05322.png)
直观点理解就是如上图所示,你可以将整个服务器的环境配置打包成一个文件随处带走,然后换一台电脑运行,这样两台电脑的环境都不会受到影响。
1 docker安装操作
下面我开始带大家一步步的安装。
1.1 清除旧版本
sudo apt-get remove docker docker-engine docker.io
sudo apt-get update
![3f68ca7d8da76cac0fc861e8661fcf83.png](https://i-blog.csdnimg.cn/blog_migrate/ea290ee0f174e845256f4c9c99a64b27.png)
1.2 安装可选内核模块
sudo apt install linux-modules-extra-$(uname -r) linux-image-extra-virtual
![957fe02278431b660d53d259670c5e73.png](https://i-blog.csdnimg.cn/blog_migrate/88fd2bae061bb8dabb25c038270f0fa1.png)
这一步完成后,如下所示:
![69455f2e40e8bd1a518105d4ac40b3fb.png](https://i-blog.csdnimg.cn/blog_migrate/47060ec02438dbccf7ba6e75e8b0365b.png)
1.3 添加使用HTTPS 传输的软件包以及 CA 证书
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
![4eccba9051d381f2a2bafbc837f908de.png](https://i-blog.csdnimg.cn/blog_migrate/333bbb91b1636d40172e85fbc50f8d11.png)
这一步完成后,如下所示:
![cce044d91c86e7987e3166562f2619d0.png](https://i-blog.csdnimg.cn/blog_migrate/e27fce08711d3b6d120fad3911e7c449.png)
1.4 更换国内源
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
![a133361418b2602d5bc0fa3c6bd6bffb.png](https://i-blog.csdnimg.cn/blog_migrate/0567ddd4ba5939250979b8e04e21b574.png)
1.5 添加 docker 软件源
sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
![b76af43d9133755f5ca8a020ca1e3b27.png](https://i-blog.csdnimg.cn/blog_migrate/cec8c0a626ddb61c7ebc60feb51d04ba.png)
1.6 安装最新版本docker-ce
sudo apt-get install docker-ce
![482d39564730731186fb80c4d9b9b0db.png](https://i-blog.csdnimg.cn/blog_migrate/d115c8489daf2e0e48f3d45a2071fc93.png)
这一步完成后,如下所示:
![c427987aaa0ed94c77b39d04837b26dc.png](https://i-blog.csdnimg.cn/blog_migrate/c46740740436945c346ac7506c7c46c2.png)
1.7 启动docker-ce
sudo systemctl enable docker
sudo systemctl start docker
![b96f70c198c89155a1b45eae95cb6828.png](https://i-blog.csdnimg.cn/blog_migrate/1b430379f8d57a4b1a9777b4994e2643.png)
1.8 测试docker是否安装成功
sudo docker run hello-world
![879021ac647e59e85bcefa7a61e6b5cb.png](https://i-blog.csdnimg.cn/blog_migrate/72f8eb9beac20f9b85f85d52336b9797.png)
看到上面的Hello from Docker!了吗?若你出现上面的界面则代表docker安装成功了。
1.9 安装NVIDIA Docker
step 1: 下载安装包:wget -P /tmp https://github.com/NVIDIA/nvidia-docker/releases/download/v1.0.1/nvidia-docker_1.0.1-1_amd64.deb
![3c9955819ed444954ab13e2a557625ec.png](https://i-blog.csdnimg.cn/blog_migrate/d2d3fd03c57be1eedfe78945fad848a5.png)
step 2:sudo dpkg -i /tmp/nvidia-docker*.deb && rm /tmp/nvidia-docker*.deb
![7f1a8d51414e905b4390062ab750485e.png](https://i-blog.csdnimg.cn/blog_migrate/ce3bce78c9e38ddb87bb195db70a8c37.png)
step3:测试安装是否成功:nvidia-docker run --rm nvidia/cuda nvidia-smi
![f950f8ed0c9bdaf6b75d20cc661f1e51.png](https://i-blog.csdnimg.cn/blog_migrate/ec2f435af8a1dee42b150129ad0cc559.png)
![ced084ff8ddf89696eca912cebee4e6d.png](https://i-blog.csdnimg.cn/blog_migrate/433f14b9cf2b7d0bff76a8e420370d22.png)
当你出现上面的界面,代表NVIDIA Docker安装成功。
2 docker基本使用
docker有三个基本概念:仓库(Repository),镜像(Image)和容器(Container)。
这三个基本概念我就不一一解释了,你只需要知道仓库是一个集中存放镜像的空间,镜像是一个特殊的文件系统,其中存储了应用和环境的所有数据,容器是镜像的运行实体,类似于面向对象编程中的类与实例,一个静态的镜像可以产生多个独立动态运行的容器。
我们再来看下docker的基本应用。docker 客户端非常简单 ,我们可以直接输入 docker 命令来查看到 Docker 客户端的所有命令选项。这个对于新手来说很有帮助,
![1bebb1c7dba5f7103d2b725fdb4cd757.png](https://i-blog.csdnimg.cn/blog_migrate/bc483b5594bdf26afaa6901e40390c77.png)
另外如果你想要对某个命令更加深入的了解,可以使用docker command --help更深入的了解指定的docker命令使用方法。
docker pull --help
![6d8eb4a6897ab05e56baa6b3a05a190e.png](https://i-blog.csdnimg.cn/blog_migrate/fcf8df5dfa0e19a36802107b55fb489d.png)
接下来我们在看下如何在docker中安装python,首先使用下面命令查找python镜像
docker search python
![acafc201ca0587a935ef30efed51c643.png](https://i-blog.csdnimg.cn/blog_migrate/3b3e16e29611dd8d132cf1079e0089fa.png)
这里我们拉取官方python3.5的镜像
![c31bcc195b8756697023297917d676c4.png](https://i-blog.csdnimg.cn/blog_migrate/0e3d6d97457ed0dd12824cbc38b5b170.png)
下载完成后,我们就可以在本地镜像列表里查到python3.5的镜像。通过下面命令就可以
docker images python:3.5
![9078e7a669d49ba192dfad4d40e6d330.png](https://i-blog.csdnimg.cn/blog_migrate/ce1f8d5d5f7cbd1107009b7507caf9bd.png)
上面就是在docker中安装python了,当然这不是最好的方法,我们用的最多的还是dockerfile。因为一般来说,如果这个系统安装的库都可以通过http协议下载,对外发布直接用这个dockerfile就可以了,使用dockerfile会更加方便。
由于时间关系至于dockerfile怎么编写,可以去我的知识星球获取。
总结
以上就是docker的配置过程,如果您想要了解关于caffe或者opencv在docker上如何使用,欢迎加入我的知识星球了解。
知识星球推荐
![651db919b0babbd29b9115f2b4ed0712.png](https://i-blog.csdnimg.cn/blog_migrate/411a9a532453dc4f9c073ec08d397119.png)
有三AI编程与开源框架知识星球由我亲自维护,内设caffe实战,Python实战,Python每日一练,Pytorch实战、C++每一一练等板块。近期我重点更新caffe的实战教程,包括模型定义、数据处理、源码解读、定制自己的caffe等等,欢迎大家了解加入,我们一起攻破编程与开源框架。
当前在知识星球已经上线caffe使用手册,有了该手册,caffe使用不再困难,且手册会不断进行优化。
![c274ad1d9bfc4d8216b812caf99317ff.png](https://i-blog.csdnimg.cn/blog_migrate/eaa694c9ec07a193145ea5a8eaba0593.png)
转载文章请后台联系
侵权必究
![f032b3ea5efdcedf55cc79d3291573ab.png](https://i-blog.csdnimg.cn/blog_migrate/749feb0564ec6807871955dfbbdcaa5f.jpeg)
![c4601078fbe459a58db6701b9d667c60.png](https://i-blog.csdnimg.cn/blog_migrate/485b8ab8ca25b8c83f493a944a91bee9.png)
![c4601078fbe459a58db6701b9d667c60.png](https://i-blog.csdnimg.cn/blog_migrate/485b8ab8ca25b8c83f493a944a91bee9.png)
往期精选
【杂谈】手把手带你配置深度学习环境
【Python进阶】实战Python图像文件操作基本编程
【杂谈】菜鸟误入linux会有哪些惨痛的经历
【Python进阶】你的真的明白NumPy中的ndarray吗?
【TensorFlow2.0】以后我们再也离不开Keras了?
【TensorFlow2.0】数据读取与使用方式
【TensorFlow2.0】如何搭建网络模