什么是Docker并且它为什么这么受欢迎
什么是Docker (why it's so hot than hot)
Docker是一个使用容器来方便快捷的创建,部署,运行程序的工具,容器允许开发人员将应用程序的一切打包(镜像),例如库和其他的依赖项,并可以将这个包(镜像)发布出去。通过这样做,开发人员可以尽情将应用程序在其他linux 机器上运行,并且不用去考虑机器的各种配置的不同。
另一方面,Docker有一点点像虚拟机,但是又不像虚拟机,相比于虚拟机,Docker不需要创建整个虚拟系统,Docker允许应用程序使用和当前所运行的操作系统相同的linux内核,也没有什么硬件虚拟。并且仅仅需要应用程序携带主机上没有的东西,这大大提升了性能并且减少了应用程序的大小
最重要的是,Docker是一个开源项目,这意味着每一个人都可以给docker做贡献,并且可以去根据自己的需求扩展docker.
总而言之,Docker是一个来帮我们抹平操作系统的配置、环境的差异,让我们的程序随心所欲的在各个系统快速跑起来的工具。
Docker是给哪些人使用的呢?
Docker是一个让开发人员和运维人员都会受益的一个工具,它已经成为了许多开发和运维人员的工具链中的一部分了。对于开发人员而言,这意味着我们不必再去操心程序最终运行的操作系统的环境等等各种配置了,我们只需要安心的专心的去写代码就行了。同时我们可以使用Docker给我们提供的一千多种的镜像,并且镜像中给我们的程序提供了一部分基础部分,这大大提升了我们的开发时构建项目的效率。对于运维同学而言,Docker提供了灵活性,并且由于docker的体积小、开销小。运维也可能不需要去维护特别多的系统了。
所以说,开发人员和运维人员都可以来使用Docker。
上述部分翻译自 https://opensource.com/resources/what-docker
Docker中的重要组成部分
Docker中包括了三个基本概念
- 镜像
- 容器
- 仓库
镜像:
镜像为容器的基础,镜像就是一堆只读层的视角
容器:
容器的定义和镜像差不多,容器也是一堆层的唯一视角,不同的是,容器最上边的一层是可读可写的。这里需要注意的是,容器并不是指运行态的容器,容器=镜像+读写层
而与此对应的运行态的容器,就是独立的进程空间+运行的进程+可读写层,运行的进程对于文件进行的操作(增加,删除,修改等)针对的是可读写层,并且这个可读写层也是封闭的。
仓库:
仓库是存放镜像的场所
对于Docker的这三个基本概念,后续在对应的章节详解。
文中如有错误,还请斧正!
什么是Docker并且它为什么这么受欢迎的更多相关文章
- Docker Architecture、Docker Usage
目录 . 引言 - 为什么要有Docker技术 . Docker简介 . Docker安装.部署.使用 . Docker安全 . Docker底层实现 . Docker网络配置 . Dockerfil ...
- 快速理解Docker - 容器级虚拟化解决方案
是什么 简单的说Docker是一个构建在LXC之上的,基于进程容器(Processcontainer)的轻量级VM解决方案 拿现实世界中货物的运输作类比, 为了解决各种型号规格尺寸的货物在各种运输工具 ...
- 关于Docker 常用命令
Docker 常用命令 分类列一下常用的CLI命令 仓库相关 search/ pull / push / login etc. 例:docker pull ubuntu 从仓库下载ubuntuimag ...
- Docker 底层实现
基本架构 Docker 采用了 C/S架构,包括客户端和服务端. Docker daemon 作为服务端接受来自客户的请求,并处理这些请求(创建.运行.分发容器). 客户端和服务端既可以运行在一个机器 ...
- Docker基本架构
Docker 采用了 C/S架构,包括客户端和服务端. Docker daemon 作为服务端接受来自客户的请求,并处理这些请求(创建.运行.分发容器). 客户端和服务端既可以运行在一个机器上,也可通 ...
- .NET Core多平台开发体验[4]: Docker
对于一个 .NET开发人员,你可能没有使用过Docker,但是你不可能没有听说过Docker.Docker是Github上最受欢迎的开源项目之一,它号称要成为所有云应用的基石,并把互联网升级到下一代. ...
- 通过 Ansible 安装 Docker
本文的演示环境为 ubuntu 16.04. 先在 Ansible Galaxy 搜索 docker,由 geerlingguy 贡献的 docker role 是目前最受欢迎的: 通过 ansibl ...
- Docker 从入门到放弃(一)安装
前言 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任 ...
- Docker 介绍及安装
Docker介绍 Docker采用 C/S架构 Docker daemon 作为服务端接受来自客户的请求,并处理这些请求(创建.运行.分发容器). Docker基于go语言并遵从Apache2.0协议 ...
随机推荐
- Flask之笔记集合
目录 一.简述 二.基本使用 三.配置文件 四.路由系统 2.自定义正则路由 五.模版语言 六.请求和响应 七.Session 2.自定义session 八.蓝图 九.message 十.中间件 十一 ...
- 渡过OO的死劫,了解规格的意义——OO第三次博客总结
当熬过了一次次黑暗,迎接我们的却是被扣的惨不忍睹的JSF ┭┮﹏┭┮ 一.总结调研 规格的历史 传统科学的特点是发现世界,而软件的特点是构造世界.软件的最底层就是0,1,两个离散的值.程序设计语言的三 ...
- 第三周vim入门学习1
一.vim模式介绍 1.概念:以下介绍内容来自维基百科Vim 从vi演生出来的Vim具有多种模式,这种独特的设计容易使初学者产生混淆.几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数的编辑器使 ...
- Sprint11
进展:基本设置和显示已经完成,然后是可以通过长按事件弹出对话框可以进行停用.修改.取消该事件提醒的实现,通过触发动作跳转到各个部分页面.
- The Begining
学习记录之旅,就此开始.软件工程,Java神马的统统到我碗里来.
- validating & update ctabfolder css
总是查错 结果把validating全部都反选,然后老是update ctabfolder css update ctabfolder css has encountered a problem An ...
- C语言:一个能自动生成小学四则运算题目的程序
完成这个程序,半个小时内完成了,这个程序,可以自动生成小学简易的四则运算,提供菜单让用户选择,然后判断加减乘除,判断答对答错的题目个数,用户同时也可以重新选择继续答题或重新选择或退出程序. 源程序: ...
- DPDK RX / TX Callbacks 源码阅读
这个sample是基于basicfw的.basicfw就是一个网口收到的包立即从另一个网口转发出去,非常简洁明了的程序,可以通过basicfw学习基础的DPDK发包API.RX / TX Callba ...
- 3、第一个Python程序
现在,了解了如何启动和退出Python的交互式环境,我们就可以正式开始编写Python代码了. 在写代码之前,请千万不要用“复制”-“粘贴”把代码从页面粘贴到你自己的电脑上.写程序也讲究一个感觉,你需 ...
- jsp 页面和 jsp标记
一个jsp页面可由5种元素组成 html标记 变量和方法的声明 java程序片 java表达式 <%!变量和方法的声明%> 被声明的方法和变量在整个jsp页面都可以访问,为全局变量 当多个 ...