Docker理解

docker有3大核心:仓库,镜像和容器;

  镜像(image) - 复制的程序 

  • Docker镜像就是一个只读的模板,可以用来创建docker容器。Docker提供了一个很简单的机制来创建镜像和更新现有镜像,用户甚至可以从其他人那里下载一个已经做好的镜像来直接使用。镜像是一种文件结构(除了提供程序运行时所需的程序、库、资源和配置等文件,还包括一些配置参数(匿名卷,环境变量,用户等))。Dockerfile中的每条命令都会在文件系统中创建一个新的层次结构,文件系统在这些层次结构上构建起来,镜像就构建于这些联合的文件系统之上。
  • 作用:类似于虚拟机快照,用来创建新的容器。
  • 特点:镜像不包含任何动态数据,其内容在构建之后也不会被改变。

  容器(Container)  - 集装箱

  • 容器就是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的,保证安全的平台。可以把容器看作简易版的linux环境,Docker利用容器运行应用。
  • 程序运行的地方
  • 镜像是静态的,每一层都只是可读的,但是容器是动态的,里面运行着我们指定的应用

  仓库 - 存放镜像的地方

  • 仓库是集中存放镜像文件的场所,仓库注册服务器(Registry)上往往存放着多个仓库,每个仓库中又包含多个镜像,每个镜像下有不同的标签(tag)。目前最大的公开仓库是Docker Hub,存放了数量庞大的镜像供用户下载。

docker的用途:

  现在物理服务器是很强大的,如果在一台服务器上只跑一个服务就浪费了,而同时跑很多服务它们又互相影响,比如一个服务出现内存泄漏,其他服务也会跟着倒霉。所以要把每个服务都隔离起来,让它们只使用自己那部分有限的cpu,内存和磁盘,以及自己依赖的软件包。这个早先是用虚拟机来实现隔离的,但是每个虚拟机都要装自己的操作系统核心,有点浪费资源;;于是就有了docker,一台机器上可以装十几个到几十个docker,它们可以共享操作系统核心,占用资源少,操作速度快,又能提供资源(cpu、内存、磁盘)一定程度的隔离。

  简单来说就是,不同的应用程序所依赖的环境不一样,如果把它们所依赖的软件都安装在同一台服务器上,不仅需要调试很久,而且很有可能会有冲突;

  如果想把两个应用程序隔离起来,可以在服务器上创建不同的虚拟机,不同的虚拟机放不同的应用,但是虚拟机的开销比较高,docker作为轻量的虚拟机,是个很好的工具。

  • 解决运行运行环境不一致导致的问题。就不会产生“本地运行没问题,一到服务器上就不行”的情况;
  • 限定最大的cpu使用内存硬盘,这样就起到了隔离的作用,避免产生“一块代码死循环,把磁盘占满,其他程序也挂”的情况;
  • 双十一扩展机器时用

使用前

使用后

Docker定义

Docker中文手册上解释:Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量的在生产环境部署,包括VMs(虚拟机)、baremetal、OpenStack集群和其他的基础应用平台。

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的linux机器上。Docker重新定义了程序开发测试、交付和部署的过程,可以构建一次,到处运行(build once , run anywhere)!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值