DataWhale组队学习-Docker-Task1

记录Data-WhaleDocker的组队学习过程,在一个多月前的AI Earth人工智能创新挑战赛的组队学习中,由于官方要求要用Docker提交,第一次接触到了Docker,虽然最后照猫画虎的也提交了,但是对于Docker的内部原理一直也不清楚,希望这次组队学习能让自己对Docker有更深入的了解。Task1的任务是安装Docker并了解Docker的基本概念。Docker在上一次组队学习中已经在Win10系统下安装过了,这里主要介绍一下Docker的基本概念。

Docker是什么

关于Docker的介绍,深入理解容器基础概念这篇文章写的很好。Docker是一个虚拟环境容器,可以将你的开发环境、代码、配置文件等一并打包到这个容器中,并发布和应用到任意平台中。容器一般指的是Linux容器,具体来说,Linux容器是与系统其他部分隔离开的一系列进程,是基于操作系统能力的隔离技术。容器具体的使用场景是这样的:我们希望应用程序既能运行在同一主机或集群上,又能彼此隔离,这样它们就不会过度干扰彼此的操作或维护,但由于要运行包、库和其他软件组件,这样就会变得会比较困难。我们可以使用虚拟化技术和容器来解决这个问题,将不同的应用程序隔离开。Docker就是一个升级版的容器, 在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护。
正如上文提到的,虚拟化技术和Docker容器都可以隔离应用程序,但两者有所不同:

  • 虚拟化技术:多个操作系统同时在单个硬件系统上运行,运行的是一个完整的操作系统。虚拟机在宿主机(host)中的OS上面是hypervisor(hypervisor),然后依次建立虚拟机,虚拟化的仓库,然后安装程序。
  • Docker容器:Docker可共享同一个操作系统内核,也即Docker容器内的应用进程直接运行于宿主的内核,同时可以将应用进程与系统其他部分隔离开。Docker在宿主机(host)中的OS上面是Docker Engine,然后直接在Doker Engine安装应用。所以很显然,Docker容器比虚拟化技术更轻便,现在也更常用。
    Docker传统虚拟化

镜像,容器与仓库

Docker的三大基本概念就是镜像,容器与仓库。

镜像Image

Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像 不包含 任何动态数据,其内容在构建之后也不会被改变。同时,Docker镜像采用的是分层存储,使得镜像的复用、定制变的更为容易。

容器Container

容器是镜像运行时的实体,相当于是镜像的实例化。容器就是一个进程。容器进程运行在隔离的环境里,可以被创建、启动、停止、删除、暂停等。

仓库Repository

Docker仓库就是存放镜像的地方,可以提供集中的存储、分发镜像的服务。一个 Docker Registry*中可以包含多个仓库;每个仓库可以包含多个 标签(Tag);每个标签对应一个镜像。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值