docker如何快速了解并使用(详解)(第一篇)(共五篇)

Docker

  1. docker的出现
    Docker是诞生于2013年,是dotCloud的一个开源项目,基于Google推出的GO语言实现。遵从Apache2.0协议。
  2. docker的介绍
    Docker的目标是实现轻量级的操作系统虚拟化的解决方案。
    Docker的基础是Linux容器(LXC)等技术,(LXC系统提供工具来管理容器,具有先进的网络和存储支持,还有最小容器操作系统模版的广泛选择)。
    在LXC的基础上Docker进行了进一步的封装,用户不需要去关心容器的管理,操作更简单。就像操作一个快速轻量的虚拟机一样简单。
  3. docker的优势
  4. 更快速的交付和部署。
    Docker可以在整个开发周期辅助实现快速交付,允许开发者在装有应用和服务器本地容器做开发。可以直接集成到可持续的开发流程中。
    Docker可以快速创建容器,快速迭代应用程序,过程全程可见,可以节约开发测试部署的时间。
    例如:用一个标准的镜像,构建一套开发容器,开发完成后,运维可以直接使用容器这个容器部署代码。
  5. 高效的部署和扩容。
    Docker容器几乎可以在任意平台运行,包括物理机,虚拟机,公有云,私有云,个人电脑,服务器等。用户可以把一个应用程序从一个平台直接迁移到另一个平台上。
    Docker的兼容性和轻量特性可以轻松的实现负载的动态管理
  6. 更高的资源利用率。
    Docker对系统的利用率很高,一台主机可以同时运行上千个Docker容器,容器除了运行其中的应用,不会消耗额外的系统资源,使应用性能很高。开销减少。
    例如:传统的虚机方式运行10个不同的应用,需要起十个虚机.
    而Docker只需要启动10个隔离的应用即可。
    4,更简单的管理。
    Docker只需要小小的修改,就可以代替大量的更新工作,所有的改动都
    增量的方式被分发和更新,实现自动化高效的管理。

Docker引擎
Docker引擎是C/S结构的应用,主要组件如下。
C/S结构的应用

  1. Server是一个常驻进程

  2. RESET API 实现了client(客户端)和server(服务器)的交互协议

  3. CLI实现了容器和镜像的管理,提供统一的操作界面。
    Docker架构
    Docker使用C/S架构,Cilent(客户端)通过接口与Server(服务器)进行通信实现容器的构建,运行和发布。Cilent和Server可以运行在同一台集群,也可以跨主机实现远程通讯。
    在这里插入图片描述

  4. Client(客户端)

  5. Registry(注册表)

  6. Images(镜像)

  7. Containers(容器)

  8. Docker deamon 是docker的守护进程,Client通过命令与Docker deamon进行通讯,完成Docker相关操作。

  9. Docker host是docker的网络模式,网络模式共四种。
    核心概念:
    镜像(image)
    Docker image只是一个只读的模版。
    镜像(Image)是(read-only layer)的统一视角
    Union File System将不同的层整合成一个文件系统,提供了 一个统一的视角,可以隐藏多层的存在,对用户来说,只是有一个文件系统而已。
    在这里插入图片描述
    例如:一个镜像可以包含一个完整的操作系统环境,里面仅仅安装了Apache或者用户需要的其他的应用程序。镜像可以用来创建Docker容器,一个镜像中可以创建很多容器。Docker提供了一个简单的机制来创建,更新现有的镜像,用户也可以下载一个做好的镜像直接使用。
    仓库(repository)
    Repository是一个存放镜像文件的场所。
    仓库注册服务器上往往存在多个仓库,每个仓库中又包含多个镜像,每个镜像有不同的标签(tag)
    仓库分为public和private两种形式。最大的公开仓库是 Docker Hub存放了数量庞大的镜像供用户下载。国内有时速云,网易云等。用户也可以在本地网络创建一个私有仓库。
    Docker仓库跟Git类似,注册服务可以理解为GitHub这种托管服务。
    容器(Container)
    Docker利用容器来运行应用,容器是从镜像创建出来的运行实例,容器可以,被启动,开始,停止,删除。每个容器都可以相互隔离,保证平台安全。
    容器和镜像的区别是镜像是只读的,容器最上面的一层是可读可写的。
    在这里插入图片描述
    运行时的容器被定义为一个可读可写的统一的文件系统。加上隔离进程空间和包含其中的进程。
    在这里插入图片描述
    文件隔离技术使Docker成为了一个很有潜力的虚拟化技术,一个容器中的进程可能会对文件进行修改,删除,创建,这些改变作用于可读写层。
    PS:(图片是网上找的,内容属于个人统计)
    关于docker的一共写了五篇,如果需要推荐查看其余四篇,以后有了新的会及时更新

猜你喜欢

转载自blog.csdn.net/hjmlyj/article/details/83753236