使用docker搭建深度学习环境-从零开始(上)

系列链接:

使用docker搭建深度学习环境-从零开始(上) https://blog.csdn.net/ambm29/article/details/96151358

 

使用docker搭建深度学习环境-从零开始(下) https://blog.csdn.net/ambm29/article/details/96278696

 

目录

1.docker简介

更高效的利用系统资源

更快速的启动时间

一致的运行环境

持续交付和部署

更轻松的迁移

更轻松的维护和扩展

2.docker在windows上的安装

3.第一个实例“hello world”

4.下载ubuntu镜像,并指定版本为16.04

寻找安装包

安装docker的ubuntu镜像

 


 

1.docker简介

        docker是一种新兴的虚拟化方式,docker 跟传统的虚拟化方式相比具有众多的优势。

更高效的利用系统资源

        由于容器不需要进行硬件虚拟以及运行完整操作系统等额外开销,docker 对系统资源的利用率更高。无论是应用执行速度、内存损耗或者文件存储速度,都要比传统虚拟机技术更高效。因此,相比虚拟机技术,一个相同配置的主机,往往可以运行更多数量的应用。

更快速的启动时间

        传统的虚拟机技术启动应用服务往往需要数分钟,而 docker 容器应用,由于直接运行于宿主内核,无需启动完整的操作系统,因此可以做到秒级、甚至毫秒级的启动时间。大大的节约了开发、测试、部署的时间。

一致的运行环境

        开发过程中一个常见的问题是环境一致性问题。由于开发环境、测试环境、生产环境不一致,导致有些 bug 并未在开发过程中被发现。而 docker 的镜像提供了除内核外完整的运行时环境,确保了应用运行环境一致性,从而不会再出现 「这段代码在我机器上没问题啊」 这类问题。

持续交付和部署

        对开发和运维(DevOps)人员来说,最希望的就是一次创建或配置,可以在任意地方正常运行。

        使用 docker 可以通过定制应用镜像来实现持续集成、持续交付、部署。开发人员可以通过 Dockerfile 来进行镜像构建,并结合 持续集成(Continuous Integration) 系统进行集成测试,而运维人员则可以直接在生产环境中快速部署该镜像,甚至结合 持续部署(Continuous Delivery/Deployment) 系统进行自动部署。

        而且使用 Dockerfile 使镜像构建透明化,不仅仅开发团队可以理解应用运行环境,也方便运维团队理解应用运行所需条件,帮助更好的生产环境中部署该镜像。

更轻松的迁移

        由于 docker 确保了执行环境的一致性,使得应用的迁移更加容易。docker 可以在很多平台上运行,无论是物理机、虚拟机、公有云、私有云,甚至是笔记本,其运行结果是一致的。因此用户可以很轻易的将在一个平台上运行的应用,迁移到另一个平台上,而不用担心运行环境的变化导致应用无法正常运行的情况。

更轻松的维护和扩展

        docker 使用的分层存储以及镜像的技术,使得应用重复部分的复用更为容易,也使得应用的维护更新更加简单,基于基础镜像进一步扩展镜像也变得非常简单。此外,docker 团队同各个开源项目团队一起维护了一大批高质量的 官方镜像,既可以直接在生产环境使用,又可以作为基础进一步定制,大大的降低了应用服务的镜像制作成本。

 

docker与传统虚拟机性能对比
特性 容器(docker) 虚拟机(VM)
启动 秒级 分钟级
硬盘使用 一般为MB 一般为GB
性能 接近原生 性能损失较大
系统支持量 单机支持上千个容器 一般几十个

2.docker在windows上的安装

        首先,我们进入docker官网,下载安装文件,网址为:https://docs.docker.com/docker-for-windows/install/

        

使用docker搭建深度学习环境-从零开始(上)_第1张图片

        随后,我们需要登录才能下载。

使用docker搭建深度学习环境-从零开始(上)_第2张图片

        下载之后安装,安装完后会提示你注销后才能使用,注销。

        注销后如果你的windows的hyper-V不可用的话,还会提示你重启,之后docker会在你的右下方出现一个小鲸鱼,之后就可以使用docker啦。

3.第一个实例“hello world”

        现在我们打开命令行(win+R键输入cmd来运行),通过下方的命令查看docker是否可以运行

docker -v

        可以看到我们所使用的的docker版本,说明docker安装成功~

        按照惯例,我们运行helloworld。

docker run hello-world

使用docker搭建深度学习环境-从零开始(上)_第3张图片

        欢迎来到docker的世界。

4.下载ubuntu镜像,并指定版本为16.04

        在docker中,运行一个环境,需要镜像(Image)和容器(Container),镜像和容器之间的关系就好比python中的类和实例一样,镜像通过docker run命令可以转化(运行)成容器,容器通过docker commit命令可以包装(提交)成镜像。并且,一个镜像可以运行成互不影响的多个容器。需要注意的是,只有镜像才可以拷贝与分享,而容器不行。

        下面,我们通过布置ubuntu-16.04的镜像来理解上述概念。

寻找安装包

        首先,我们上docker的官网来需要的我们需要的镜像,官网地址为https://hub.docker.com/

使用docker搭建深度学习环境-从零开始(上)_第4张图片

        在箭头所指的位置输入'ubuntu'。在搜索结果中我们选择下载数最高的官方镜像进行安装。

使用docker搭建深度学习环境-从零开始(上)_第5张图片

        我们点击Tags,查看可用的版本。

使用docker搭建深度学习环境-从零开始(上)_第6张图片

使用docker搭建深度学习环境-从零开始(上)_第7张图片

安装docker的ubuntu镜像

        往下拉我们可以找到有一个Tags的名字叫做16.04,我们安装的目标就是他。让我们回到命令行进行安装。安装命令的格式为:

docker pull [image_name]:[image_tag]

        因此,我们输入的命令为:

docker pull ubuntu:16.04

        运行结果为:

使用docker搭建深度学习环境-从零开始(上)_第8张图片

        注意:由于一些原因,通过原始源下载镜像十分缓慢,因此我们将中科大的镜像源加入docker。右键小鲸鱼的图标,

选择Settings->Daemon,在Registry mirrors中添加https://docker.mirrors.ustc.edu.cn,之后Apply。等待docker重启即可。

使用docker搭建深度学习环境-从零开始(上)_第9张图片

            下载完成后,我们使用如下命令查看docker已有的镜像。

docker images

 

 

你可能感兴趣的:(使用docker搭建深度学习环境-从零开始(上))