Docker简介

举报
踏波人 发表于 2019/06/26 21:16:23 2019/06/26
【摘要】 Docker是一个开源的应用容器引擎,开发者可以打包他们的应用以及依赖到一个可以移植的容器中,然后发布到主流的Linux、macOS、Windows 机器上,实现虚拟化。

一、什么是Docker

Docker是一个开源的应用容器引擎,开发者可以打包他们的应用以及依赖到一个可以移植的容器中,然后发布到主流的Linux、macOS、Windows 机器上,实现虚拟化。

Docker 是一个重新定义了程序开发测试、交付和部署过程的开放平台。在Docker 中可以把容器比作集装箱,我们把代码打包到集装箱里,Docker相当于集船坞、货轮、装却、搬运于一体的平台,帮你把软件运输到全世界各地,并迅速部署。


二、Docker容器的特点

Docker 带来了更高效的服务部署、启动方式、简化配置,在容器中开发完成后快速部署与各主流系统,解决了依赖问题;对于CPU、内存、网络和文件系统的隔离使其成为可替代虚拟机技术之一,机器资源利用率提高,耗费资源少。


三、Docker和虚拟机

传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。


四、Docker基本概念

1、镜像(Image)


Docker 镜像是Docker 系统中的构建模块,是启动一个Docker 容器的基础。

Docker 镜像采用分层的结构构建,最底层的是bootfs ,这是一个引导文件系统,在容器启动之后会自动卸载bootfs ;在bootfs 之上是rootfs ,rootfs 则是Docker 容器在启动时内部可见的文件系统,就是平常所见的“/”目录。

分层存储的特征还使得镜像的复用、定制变的更为容易。甚至可以用之前构建好的镜像作为基础层,然后进一步添加新的层,以定制自己所需的内容,构建新的镜像。


2、容器(Container)

镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等 。

容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的命名空间。前面讲过镜像使用的是分层存储,容器也是如此。

容器存储层的生存周期和容器一样,容器消亡时,容器存储层也随之消亡。因此,任何保存于容器存储层的信息都会随容器删除而丢失。


3、仓库(Repository)

相信大家对GitHub 这网站并不陌生,在它上有海量的代码仓库,类似的在Docker中,当开发者想要构建一个镜像或者运行一个容器时,一般先有一个现成的镜像才可以执行构建或运行,要是本地没有?Docker提出了Registry的概念,用户可以上传自己的镜像到Registry 上,如果公开,那么全世界的用户都可以拉取这镜像操作,可以说Registry 就是一“软件商店”。类比传统的运输业,Registry 类似一种船坞、中转站一样,是一个集中存放“集装箱(镜像)”的地方。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。