Docker简介

1.Docker的历史

Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,它是基于 dotCloud 公司多年云服务技术的一次革新,并于 2013 年 3 月以 Apache 2.0 授权协议开源,主要项目代码在 GitHub 上进行维护。Docker 项目后来还加入了 Linux 基金会,并成立推动 开放容器联盟(OCI)。

Docker 自开源后受到广泛的关注和讨论,在 2013 年底,dotCloud 公司决定改名为 Docker。Docker 最初是在 Ubuntu 12.04 上开发实现的;Red Hat 则从 RHEL 6.5 开始对 Docker 进行支持;Google 也在其 PaaS 产品中广泛应用 Docker。

 

2.什么是Docker

Docker 是一个开源的应用容器引擎基于Go语言,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。开发人员利用 Docker 可以消除协作编码时“在我的机器上可正常工作”的问题

Docker官网地址: https://www.docker.com

官方文档地址: https://docs.docker.com

 

3.Docker与虚拟机比较  Docker是基于LXC(Linux  Container既Linux容器) 技术构建的容器引擎

作为一种轻量级的虚拟化方式,Docker在运行应用上跟传统的虚拟机方式相比具有显著优势:
  Docker容器很快,启动和停止可以在秒级实现,这相比传统的虚拟机方式要快得多。
  Docker容器对系统资源需求很少,一台主机上可以同时运行数千个Docker容器。
  Docker通过类似Git的操作来方便用户获取、分发和更新应用镜像,指令简明,学习成本较低。
  Docker通过Dockerfile配置文件来支持灵活的自动化创建和部署机制,提高工作效率。

 

4.Docker的应用场景

  Web 应用的自动化打包和发布。
  自动化测试和持续集成、发布。
  在服务型环境中部署和调整数据库或其他的后台应用。
  从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。

 

5.Docker的组成

Docker 使用客户端-服务器 (C/S) 架构模式,主要有两个概念:

Docker daemon: 运行在宿主机上,Docker守护进程,用户通过Docker client(Docker命令)与Docker daemon交互
Docker client: Docker 命令行工具,是用户使用Docker的主要方式,Docker client与Docker daemon通信并将结果返回给用户,Docker client也可以通过socket或者RESTful api访问远程的Docker daemon


Docker的三个主要概念:

Docker image:

镜像是只读的,镜像中包含有需要运行的文件。镜像用来创建container,一个镜像可以运行多个container;镜像可以通过Dockerfile创建,也可以从Docker registry上下载。


Docker container:

容器是Docker的运行组件,启动一个镜像就是一个容器,容器是一个隔离环境,多个容器之间不会相互影响,保证容器中的程序运行在一个相对安全的环境中。


Docker registry:

镜像就相当于打包好的版本,镜像启动之后运行在容器中,Docker仓库就是装存储镜像的地方。

 

6.Docker架构图和运行原理图

架构图

通过Dockerfile文件构建镜像 build

通过客户端从Docker仓库即Registry 下载镜像 pull

运行镜像成为容器 run

以上所有操作都是通过Docker Daemon 完成   Docker Daemon即Docker守护进程 是Docker的核心

 

运行原理图

 

 

posted @ 2021-03-17 15:25  wf.zhang  阅读(408)  评论(0编辑  收藏  举报