docker简介

目录

docker简介

1.什么是docker

 2.基本结构

 3.docker优势

4.docker改变了什么

 5.docker三大基本概念

1.docker镜像

2.容器

3.仓库


docker简介

1.什么是docker

Docker 是一个开源项目, 诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议, 项目代码 在 GitHub 上进行维护。 Docker 自开源后受到广泛的关注和讨论,以至于 dotCloud 公司后来都改名为 Docker Inc。 Redhat 已经在其 RHEL6.5 中集中支持 Docker;Google 也在其 PaaS 产品中广泛应用。Docker 项目的 目标是实现轻量级的操作系统虚拟化解决方案。

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

Docker 是一个开源的应用容器引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的 容器。开发者在本地编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。

简单的理解,Docker类似于集装箱,各式各样的货物,经过集装箱的标准化进行托管,而集装箱和集装 箱之间没有影响。也就是说,Docker平台就是一个软件集装箱化平台,这就意味着我们自己可以构建应 用程序,将其依赖关系一起打包到一个容器中,然后这容器就很容易运送到其他的机器上进行运行,而 且非常易于装载、复制、移除,非常适合软件弹性架构。

 2.基本结构

 3.docker优势

1、 更快速的交付和部署 对开发和运维( devops)人员来说,最希望的就是一次创建或配置,可以在任意地方正常运行。 开发者可以使用一个标准的镜像来构建一套开发容器,开发完成之后, 运维人员可以直接使用这个 容器来部署代码。 Docker 可以快速创建容器,快速迭代应用程序,并让整个过程全程可见,使团 队中的其他成员更容易理解应用程序是如何创建和工作的。 Docker容器很轻很快! 容器的启动时间是秒级的,大量地节约开发、 测试、部署的时间。

2、更高效的虚拟化 Docker容器的运行不需要额外的hypervisor支持,它是内核级的虚拟化,因此是可以实现更高的性 能和效率。

3、更轻松的迁移和扩展 Docker 容器几乎可以在任意的平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、 服务器等。 这种兼容性可以让用户把一个应用程序从一个平台直接迁移到另外一个。

4、更简单的管理 使用 Docker,只需要小小的修改,就可以替代以往大量的更新工作。所有的修改都以增量的方式 特性 容器 虚拟机 启动 秒级 分钟级 硬盘使用 一般为 MB 一般为 GB 性能 接近原生 弱于 系统支持量 单机支持上千个容器 一般几十个 被分发和更新,从而实现自动化并且高效的管理。

4.docker改变了什么

  • Docker改变了云服务,使云服务的共融共通的理想逐步成为了可能。并且Docker 已经是云策略的 一部分,许多开发者正在计划使用 Docker 将业务迁移到云端。另外,为了避免被云服务供应商绑 定,Docker成为很多开发者的首选。
  • Docker改变了产品交付,为产品的整个生命周期提供了一整套的解决方案和流程。
  • Docker改变了开发方式,提供了简化的环境配置、封装的运行环境以及统一的环境。并且提供了快 速部署的方式。
  • Docker改变了测试,多版本测试变得极为方便,快速构建测试环境也变得更加简单并且无需开发人 员干预或者搭建。
  • Docker改变了运维,环境的一致性让运维变得更加简单,同时热更新的支持让运维不再需要半夜加 班部署更新,更新可以随时进行。当出现重大问题时,还能快速回滚到指定版本。 Docker改变了架构,自动化扩容支持让架构变得更加简单,分布式系统也更加易于搭建和支持。同 时遗留的单体应用也很易于转变为现代应用。

 5.docker三大基本概念

1.docker镜像

docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包 含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据, 其内容在构建之后也不会被改变。

2.容器

容器:镜像运行时的实体,Docker利用容器来运行应用。 镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态 的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等 。 容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的命名空间。

因此容器可以拥有自己的 root 文件系统、 自己的网络配置、 自己的进程空间, 甚至自己的用户 ID 空 间。 容器内的进程是运行在一个隔离的环境里, 使用起来, 就好像是在一个独立于宿主的系统下操作 一样。 这种特性使得容器封装的应用比直接在宿主运行更加安全。 也因为这种隔离的特性, 很多人初 学 Docker 时常常会混淆容器和虚拟机。

3.仓库

仓库:集中存放镜像文件的地方 镜像构建完成后,可以很容易的在当前宿主上运行,但是, 如果需要在其他服务器上使用这个镜像,我 们就需要一个集中的存储、分发镜像的服务,Docker Registry 就是这样的服务。 一个 Docker Registry 中可以包含多个仓库(Repository);每个仓库可以包含多个标签(Tag);每个 标签对应一个镜像。 所以说,镜像仓库是 Docker 用来集中存放镜像文件的地方,类似于我们之前常用的代码仓库。

通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本 。 我们可以通过:的格式来指定具体是这个软件哪个版本的镜像。如果不给出标签,将以 latest 作为默认标签。 以 Ubuntu 镜像 为例, ubuntu 是仓库的名字, 其内包含有不同的版本标签, 如, 14.04 ,16.04 。

我们可以通过 ubuntu:14.04 , 或者 ubuntu:16.04 来具体指定所需哪个版本的镜像。 如果忽略了标签, 比如 ubuntu , 那将视为 ubuntu:latest 。仓库名经常以两段式路径形式出现, 比如 jwilder/nginxproxy , 前者往往意味着 Docker Registry 多用户环境下的用户名, 后者则往往是对应的软件名。 但这 并非绝对, 取决于所使用的具体 Docker Registry 的软件或服务。

仓库分为公开仓库( Public)和私有仓库( Private) 两种形式,即Docker Registry 公开服务和私有 Docker Registry 。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/94643.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matlab保存图片

仅作为记录,大佬请跳过。 文章目录 用界面中的“另存为”用saveas 用界面中的“另存为” 即可。 参考 感谢大佬博主文章:传送门 用saveas 必须在编辑器中的plot之后用saveas(也就是不能在命令行中单独使用——比如在编辑器中plot&#xf…

GuLi商城-前端基础Vue-指令-单向绑定双向绑定

什么是指令? 指令 (Directives) 是带有 v- 前缀的特殊特性。 指令特性的预期值是:单个 JavaScript 表达式。 指令的职责是,当表达式的值改变时,将其产生的连带影响,响应式地作用于DOM 例如我们在入门案例中的 v-on,代表绑定事…

Docker+Selenium Grid搭建自动化测试平台

安装docker yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager –add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum install docker-ce -y Create a Docker Network docker network create grid 下载镜像 hu…

蔡司关注全民运动眼健康:与蔡司智锐镜片KEEP住视力健康

众所周知,运动是对我们身体最大的投资,但是对于视力有问题的消费者来说,不合适的眼镜无疑是运动路上的绊脚石,跑步运动时眼镜总是往下掉,不仅没有相对稳定的视野,还特别没安全感,由此可见一副优…

【云原生、k8s】Calico网络策略

第四阶段 时 间:2023年8月17日 参加人:全班人员 内 容: Calico网络策略 目录 一、前提配置 二、Calico网络策略基础 1、创建服务 2、启用网络隔离 3、测试网络隔离 4、允许通过网络策略进行访问 三、Calico网络策略进阶 1、创…

【数据结构OJ题】环形链表II

原题链接:https://leetcode.cn/problems/linked-list-cycle-ii/description/ 1. 题目描述 2. 思路分析 如果链表存在环,则fast和slow会在环内相遇,定义相遇点到入口点的距离为X,定义环的长度为C,定义头到入口的距离为…

CentOS安装Docker(超详细)

文章目录 1.CentOS安装Docker1.1.卸载(可选)1.2.安装docker1.3.启动docker1.4.配置镜像加速 2.CentOS安装DockerCompose2.1.下载2.2.修改文件权限2.3.Base自动补全命令: 3.Docker镜像仓库3.1.简化版镜像仓库3.2.带有图形化界面版本3.3.配置Do…

交流充电桩控制主板的优点

你是否曾经担心过充电桩可能会对你的电动车电池造成危害?让我们来探讨一下交流充电桩主板的优点,让你安心充电。 首先,交流充电桩主板采用了高安全性的电源设计,能够有效地保护电池免受电流、电压过高的危害,确保电池的安全使用。…

基于X86六轮差速移动机器人运动控制器设计与实现(二)规划控制算法

带输入约束的 MPC 路径跟踪控制 MPC 算法是一种基于控制对象模型的控制方法,其优势在于在控制中考虑了 系统的多种物理约束,同时基于模型与当前机器人的反馈信息预估出未来机器人 位姿信息的处理方法可以解决控制迟滞的问题。 4.1 MPC 路径跟踪控…

Docker部署ES服务,canal全量同步的时候内存爆炸,ES/Canal Adapter自动关闭,CPU100%

文章目录 问题解决方案1. 对ES的限制2. 对Canal-Adapter的限制 问题 使用canal-adapter全量同步(参考Canal Adapter1.1.5版本API操作服务,手动同步数据(4))的时候 小批量数据可以正常运行(几千条&#xf…

在 SwiftUI 中创建一个环形 Slider

文章目录 前言初始化环形轮廓将进度值和拇指位置绑定添加触摸手势为不同的坐标值设置滑块位置总结 前言 Slider 控件是一种允许用户从一系列值中选择一个值的 UI 控件。在 SwiftUI 中,它通常呈现为直线上的拇指选择器。有时将这种类型的选择器呈现为一个圆圈&#…

分析Flink,源和算子并行度不一致时,运行一段时间后,看似不再继续消费的问题,提供解决思路。

文章目录 背景分析 问题来了比较一开始的情况解决方式 背景 之前有分析过一次类似问题,最终结论是在keyby之后,其中有一个key数量特别庞大,导致对应的subtask压力过大,进而使得整个job不再继续运作。在这个问题解决之后&#xff…

SpringBoot | RestTemplate异常处理器ErrorHandler使用详解

关注wx:CodingTechWork 引言 在代码开发过程中,发现很多地方通过RestTemplate调用了第三方接口,而第三方接口需要根据某些状态码或者异常进行重试调用,此时,要么在每个调用的地方进行异常捕获,然后重试&am…

手撕单链表

目录 链表的概念和结构 单链表的实现 申请新结点 打印 尾插 头插 尾删 头删 ​编辑 查找 在pos位置前插入元素 在pos位置后插入元素 删除pos位置的元素 删除pos位置之后的位置的元素​编辑 完整代码 SListNode.h SListNode.c 链表的概念和结构 链表是一种物理存储…

Python“牵手”1688商品评论数据采集方法,1688API申请指南

1688平台API接口是为开发电商类应用程序而设计的一套完整的、跨浏览器、跨平台的接口规范,1688API接口是指通过编程的方式,让开发者能够通过HTTP协议直接访问1688平台的数据,包括商品信息、店铺信息、物流信息等,从而实现1688平台…

【网络】传输层——TCP(滑动窗口流量控制拥塞控制延迟应答捎带应答)

🐱作者:一只大喵咪1201 🐱专栏:《网络》 🔥格言:你只管努力,剩下的交给时间! 上篇文章对TCP可靠性机制讲解了一部分,这篇文章接着继续讲解。 🎨滑动窗口 在…

CentOS 7 安装MySQL8.0.33

一、查看 CentOS 版本 要查看当前 CentOS 版本,你可以执行以下命令: cat /etc/centos-release 该命令将显示当前 CentOS 的版本信息,例如: CentOS Linux release 7.9.2009 (Core) 在这个示例中,CentOS 版本为 7.…

七麦analysis参数加密分析

文章目录 1. 接口分析2. 断点调式3. 补环境重写加密4. 验证结果 1. 接口分析 目标站点: aHR0cHM6Ly93d3cucWltYWkuY24vcmFuay9tYXJrZXRSYW5r 先刷新网页,请求接口中的analysis参数本次分析的目标 2. 断点调式 打上XHR断点,刷新页面之后断点…

Linux系统中lib64文件夹下包含:动态链接库,静态链接库,内核模块等

lib64 目录对系统稳定运行有重要作用。 目录 lib64文件动态链接库静态链接库内核模块 lib64文件 lib64 文件夹存放主要是可被程序直接加载并使用的 64 位代码模块,包括动态库、静态库、内核模块等,这些文件对程序运行都至关重要。 在 Linux 系统中,lib64 文件夹通常用于存放…

jmeter errstr :“unsupported field type for multipart.FileHeader“

在使用jmeter测试接口的时候,提示errstr :"unsupported field type for multipart.FileHeader"如图所示 这是因为我们 在HTTP信息头管理加content-type参数有问题 直接在HTTP请求中,勾选: use multipart/form-data for POST【中文…