Docker从入门到熟练使用(详解,第一篇,共五篇)

Docker

  1. docker的出现

Docker是诞生于2013年,是dotCloud的一个开源项目,基于Google推出的GO语言实现。遵从Apache2.0协议。

  1. docker的介绍

Docker的目标是实现轻量级的操作系统虚拟化的解决方案。

Docker的基础是Linux容器(LXC)等技术,(LXC系统提供工具来管理容器,具有先进的网络和存储支持,还有最小容器操作系统模版的广泛选择)。

在LXC的基础上Docker进行了进一步的封装,用户不需要去关心容器的管理,操作更简单。就像操作一个快速轻量的虚拟机一样简单。

  1. docker的优势
  1. 更快速的交付和部署。

Docker可以在整个开发周期辅助实现快速交付,允许开发者在装有应用和服务器本地容器做开发。可以直接集成到可持续的开发流程中。

Docker可以快速创建容器,快速迭代应用程序,过程全程可见,可以节约开发测试部署的时间。

例如:用一个标准的镜像,构建一套开发容器,开发完成后,运维可以直接使用容器这个容器部署代码。

  1. 高效的部署和扩容。

Docker容器几乎可以在任意平台运行,包括物理机,虚拟机,公有云,私有云,个人电脑,服务器等。用户可以把一个应用程序从一个平台直接迁移到另一个平台上。

Docker的兼容性和轻量特性可以轻松的实现负载的动态管理

  1. 更高的资源利用率。

Docker对系统的利用率很高,一台主机可以同时运行上千个Docker容器,容器除了运行其中的应用,不会消耗额外的系统资源,使应用性能很高。开销减少。

例如:传统的虚机方式运行10个不同的应用,需要起十个虚机.

         而Docker只需要启动10个隔离的应用即可。

      4,更简单的管理。

              Docker只需要小小的修改,就可以代替大量的更新工作,所有的改动都

增量的方式被分发和更新,实现自动化高效的管理。

 

 

Docker引擎

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

  1. Server是一个常驻进程
  2. RESET API 实现了client(客户端)和server(服务器)的交互协议
  3. CLI实现了容器和镜像的管理,提供统一的操作界面。

Docker架构

       Docker使用C/S架构,Cilent(客户端)通过接口与Server(服务器)进行通信实现容器的构建,运行和发布。Cilent和Server可以运行在同一台集群,也可以跨主机实现远程通讯。

 

  1. Client(客户端)
  2. Registry(注册表)
  3. Images(镜像)
  4. Containers(容器)
  5. Docker deamon 是docker的守护进程,Client通过命令与Docker deamon进行通讯,完成Docker相关操作。
  6. 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成为了一个很有潜力的虚拟化技术,一个容器中的进程可能会对文件进行修改,删除,创建,这些改变作用于可读写层。  

第二篇文章地址https://blog.csdn.net/qq_40001362/article/details/81905044

发布了57 篇原创文章 · 获赞 38 · 访问量 5万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览