什么就Docker?


Docker是一个开源项目, 诞生于2013年初,最初是dotCloud公司内部的一个业余项目。它基于Google公司推出的Go语言实现。项目后来加入了Linux基金会,遵从了Apache 2.0协议,项目代码在GitHub 上进行维护。

Docker项目的目标是实现轻量级的操作系统虚拟化解决方案。Docker的基础是Linux容器(LXC)等技术。在LXC的基础上Docker进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作Docker的容器就像操作一个快速轻量级的虚拟机一样简单。

为什么要使用Docker?


Docker 相比传统虚拟机有诸多优势。

  • 启动速度更快: 秒级启动。

  • 快速的部署和交付: 开发者可以使用一个标准的镜像来构建一套开发容器,开发完成之后, 运维人员可以直接使用这个容器来部署代码。

  • 更高效的虚拟化: 它是内核级的虚拟化,因此可以实现更高的性能和效率。

  • 高效的迁移: Docker可以运行在不同的平台,用户可以轻松的将一个应用从一个平台迁移到另一个平台。

  • 节省开支: Docker容器除了运行其中应用外,基本不消耗额外的系统资源,一台设备可以运行上千个容器。

Docker引擎


docker引擎是一个c/s结构的应用,主要组件见下图:

  • Server是一个常驻进程
  • REST API 实现了client和server间的交互协议
  • CLI 实现容器和镜像的管理,为用户提供统一的操作界面

Docker构架


Docker使用C/S架构,Client 通过接口与Server进程通信实现容器的构建,运行和发布。client和server可以运行在同一台集群,也可以通过跨主机实现远程通信。

Docker基本概念


Docker包括三个基本概念

  • 镜像(Image)

Docker提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载一个已经做好的镜像来直接使用。镜像可以用来创建Docker容器。

  • 容器(Container)

容器是从镜像创建的运行实例。它可以被启动、开始、停止、 删除。每个容器都是相互隔离的、保证安全的平台。

  • 仓库(Repository)

仓库是集中存放镜像文件的场所。仓库分为公开仓库(Public)和私有仓库(Private) 两种形式。

最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。 中国官方镜像加速

Docker(一)-Docker介绍的更多相关文章

  1. Docker: 基础介绍 [一]

    一.Docker介绍 Docker是Docker.lnc公司开源的一个基于LXC技术之上构建的Container容器引擎,源代码托管在Github上,基于Go语言并遵从Apache2.0协议开源 Do ...

  2. Centos + docker,Ubuntu + docker介绍安装及详细使用

    docker笔记 常用命令 设置docker开机自启:sudo chkconfig docker on 查所有镜像: docker images 删除某个镜像:docker rmi CONTAINER ...

  3. Docker的简单介绍及使用

    Docker介绍 Docker是Docker.Inc公司开源的一个基于LXC技术之上构建的Container容器引擎,源代码托管在GitHub上,基于Go语言并遵从Apache2.0协议开源. Doc ...

  4. Docker底层原理介绍

    1.docker介绍 1.1什么是docker Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻 ...

  5. Docker这么火爆。章节一:带你详尽了解Docker容器的介绍及使用

    前言 很多小伙伴可能在工作中都听说过Docker,但是实际工作中却没有使用过,听得多了,也对Docker内心有一种很深切的想了解,但是因为各种原因而不知道如何去了解而发愁,不要急,这篇文章带你认识Do ...

  6. Linux和Docker的Capabilities介绍及Setcap命令

    Linux和Docker的capabilities介绍 转载:https://www.cnblogs.com/charlieroro/p/10108577.html 验证环境:centos7 x86/ ...

  7. Docker实用命令介绍

    Docker实用命令介绍 1. docker启动.关闭.停止 ╭─wil-xz in ~ 12:15:44 ╰─٩(ŏ﹏ŏ.)۶ service docker restart Redirecting ...

  8. Docker基础知识介绍

    本节内容 1.  Docker概述 2.  Docker的安装 3.  Docker基本使用 4.  Docker相关命令汇总 5.  Docker概念理解 一  Docker概述 Docker是什么 ...

  9. docker 2 docker介绍

    docker是基于go语言实现的云开源项目 docker的主要目标是‘build ,ship and run any app,anywhere’,也就是说通过对应用程序组件的封装,分发,部署,运行等生 ...

随机推荐

  1. [luogu3980] 志愿者招募

    题面 ​ 又一次考试网络流爆零...... ​ 这一题一看就是网络流, 但是要怎么构图呢? 考虑到途中的一些因素, 首先, 每一种志愿者控制的区间范围为\(S_{i}\)到\(T_{i}\), 所以, ...

  2. python is、==区别;with;gil;python中tuple和list的区别;Python 中的迭代器、生成器、装饰器

    1. is 比较的是两个实例对象是不是完全相同,它们是不是同一个对象,占用的内存地址是否相同 == 比较的是两个对象的内容是否相等 2. with语句时用于对try except finally 的优 ...

  3. find和find_if

    find函数 是在一个迭代器范围内查找特定元素得函数,可将将他用于任意容器类型得元素.这个函数返回的是所找元素得引用,如果没有找到元素就会返回这个容器得尾迭代器. #include <iostr ...

  4. leetcode62—Unique Paths

    A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below). The ...

  5. mysql安装,oracle安装

    mysql 版本:5.5.20 直接是是是装完, 密码设为123456, 检查服务, 然后装navicat 32位,64位均可,连接时输入root,123456. 连接成功!为所欲为操作数据库. ht ...

  6. Python3入门(八)——面向对象OOP

    一.概述 老生常谈了,万物皆对象.Python作为一门面向对象的语言,也不例外 直接看一个简单的类定义和实例化类的示例: class Student: pass stu = Student() // ...

  7. 20155237 《JAVA程序设计》实验三(敏捷开发与XP实践)实验报告

    20155237 <JAVA程序设计>实验三(敏捷开发与XP实践)实验报告 实验内容 敏捷开发与XP实践 XP基础 XP核心实践 相关工具 实验要求 1.没有Linux基础的同学建议先学习 ...

  8. Bluedroid协议栈HCI线程分析

    蓝牙进程中有多个线程,其中HCI 线程是负责处理蓝牙主机端和控制器的数据处理和收发的工作. 本篇文章就是分析一下该线程的数据处理流程. 1.跟HCI相关的接口 首先看看hci的相关的接口:在hci_l ...

  9. libgdx学习记录1——图片显示Texture

    libgdx底层采用opengl渲染,对图片进行了优化处理,与android原生态的bitmap不太一样. 相比而言,效率要高一些,不过只支持png,jpg,bmp三种格式. 显示中,一般将图片放在a ...

  10. idea Cannot Resolve Symbol 问题解决

    总结:要多根据有问题的提示来进行百度搜索,这一次我就是搜索了 idea 提示的错误信息 Cannot Resolve Symbol ,才找到的解决方案,所以说出现问题,如果不是很复杂的场景或者原因很多 ...