Docker之一简介
什么是Docker
Docker是Google使用go语言进行开发的,对进程进行封装隔离,始于操作系统层面的虚拟化技术。
因为隔离的进程独立于宿主机和其它的隔离进程,因此成为容器
Docker在容器的基础上进行了进一步的封装,从文件系统、网络互联到进程隔离等等,简化了容器的维护和床架你,比虚拟机技术更为轻便、快捷
为什么要用
作为一种新兴虚拟化方式,和传统比有众多优势
- 更高效的利用系统资源
容器不需要虚拟硬件以及完整的操作系统等额外开销,因此对系统的资源利用率更高。从以下几个方面来看,应用执行速度、内存损耗、文件存储速度等都比传统的虚拟机搞笑,因此一个相同配置的主机,docker可以运行更多数量的应用
- 更快速的启动时间
由于直接运行宿主内核,可以做到秒级、毫秒级的启动时间;节省了时间
- 一致的运行环境
Docker的镜像提供了除内核外完整的运行时环境,确保了应用运行环境的一致性;【开发、测试、生产环境】
- 持续交付和部署
通过定制应用镜像实现持续集成、交付、部署;通过Dockerfile进行镜像构建;Dockerfile使得镜像构建透明化,方便理解
- 轻松迁移
由于确保了环境的一致性,所以容易迁移;
- 轻松维护和扩展
使用分层存储和镜像的技术,使得应用复用更加容易,维护更新简单。
基本概念
理解以下三个概念,就理解了Docker的整个生命周期
镜像
操作系统分为内核、用户空间;Docker镜像相当于是一个root文件系统
Docker镜像是特殊的文件系统,除了提供运行时所需要的程序、库、资源、配置等文件外,还包含了一些配置参数。但是不包含任何动态数据
分层存储,使得镜像的复用、定制更为容易
容器
- 容器和镜像的关系,就像类、实例一样;镜像是静态的,容器是运行镜像的实体;容器可以被创建、启动、停止、删除、暂停等操作
- 容器实质就是进程,但是它运行在属于自己的独立的空间里;所以每一个容器拥有自己的root系统、网络配置、进程空间,甚至自己的用户ID空间。
- 容器也是分层存储,每一个容器运行时候,以镜像为基础层,为当前存储层;这个为容器运行读写准备的容容器存储层
- 容器消亡时候,存储层也会跟着消失;所以保存在容器存储层的信息都会没有
- 容器不应该给存储层写数据,所有的文件写入操作,都需要使用数据卷、或者绑定宿主目录;直接对宿主、网络存储进行读写,性能和稳定性高
- 数据卷的生命周期独立容器,容器消失,数据卷还在
仓库
- 分为公有和私有仓库
- 镜像构建完成后,需要发布到集中存储、分发的镜像服务Docker Registry
- 一个Docker Registry 可以包含多个Repository,每个仓库都有多个标签,每一个标签对应一个镜像
- 一般来说,一个仓库会包含同一个软件的不同版本,而标签就是用来给不同版本进行标注;
- 可以通过
<仓库名>:<标签>的格式来指定具体是这个软件哪个版本的镜像。如果不给出标签,将以latest作为默认标签
Docker之一简介的更多相关文章
- Docker 容器简介与部署
关于Docker容器技术 参考文献:<docker 从入门到精通> Docker容器简介 Docker的构想是要实现 "Build,Ship and Run Any App,An ...
- Docker的简介以及Dockerfile编写与使用
Docker的简介 Docker是在容器的基础上,进行了进一步的封装,极大的简化了容器的创建和维护.使得Docker技术比虚拟机技术更为轻便.快捷. 下面是两张对比图. 可以看到传统虚拟机技术是虚拟出 ...
- docker (1) ---简介,使用
一.docker简介: 容器( container-based )虚拟化方案,充分利用了操作系统本身已有的机 制和特性,以实现轻量级的虚拟化(每个虚拟机安装的不是完整的虚拟机), 甚至有人把他称为新一 ...
- docker 概念简介、简单入门
1.docker 简介 Docker 是一个开源项目,这个项目旨在通过把应用程序打包为可移植的.自给自足的容器(引用语) DocKer一次构建可放在任何地方就可以运行,不需要进行任何改变DocKer ...
- Docker(一) 简介
简介 Docker是一款针对程序开发人员和系统管理员来开发.部署.运行应用的一款虚拟化平台.Docker 可以让你像使用集装箱一样快速的组合成应用,并且可以像运输标准集装箱一样,尽可能的屏蔽代码层面的 ...
- Docker入门简介
Docker的概念 什么是Docker? Docker是一个开源平台,包含:容器引擎和Docker Hub注册服务器 Docker容器引擎:可以将开发者打包他们的应用和依赖包到一个可一直的容器中,然后 ...
- Docker Machine 简介
Docker Machine 是什么? Docker Machine 是 Docker 官方提供的一个工具,它可以帮助我们在远程的机器上安装 Docker,或者在虚拟机 host 上直接安装虚拟机并在 ...
- Docker学习笔记 - Docker的简介
传统硬件虚拟化:虚拟硬件,事先分配资源,在虚拟的硬件上安装操作系统,虚拟机启动起来以后资源就会被完全占用. 操作系统虚拟化:docker是操作系统虚拟化,借助操作系统内核特性(命名空间.cgroups ...
- Docker Compose 简介
Compose 是 docker 提供的一个命令行工具,用来定义和运行由多个容器组成的应用.使用 compose,我们可以通过 YAML 文件声明式的定义应用程序的各个服务,并由单个命令完成应用的创建 ...
- Docker网络简介
Docker允许通过外部访问容器或则容器互联的方式来提供网络服务. 外部访问容器 容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过-P或则-P参数来指定断开映射.当使用 -P 标记时, ...
随机推荐
- UML之关联
关联指两个类之间的各种联系.UML使用各种单实线表示关联,这个单实线可以是直线(垂直的.水平的或者倾斜的).折线甚至曲线. 事实上,关联也是展示类的属性的另一外的一种形式.例如在下图中,我们通过一条实 ...
- 有道云笔记默认的笔记格式转markdown
目录 0. 前言 1. 有道云笔记自带的笔记格式转markdown的方案 1.1 pdf => md 1.2 pdf => word => md 2. Markdown技巧 2.1 ...
- 电信机顶盒(烽火HG680-KA)安装第三方APP
一.前言 最近我回家休息了几天,正好赶上了暑期电视剧的更新.于是,我就在客厅里舒舒服服地坐下来,准备大饱眼福.然而,当我打开电视机准备观赏时,却发现几乎所有的电视剧都要VIP会员才能观看.于是有了以下 ...
- RPA_Robocorp
一.RCC使用(https://robocorp.com/docs/rcc/workflow) 1. Creat a new bot : rcc create my-robot 2. Adding ...
- GeoServer加载Arcgis切片服务
使用GeoServer中的GeoWebCache加载Arcgis切片服务 下载安装 GeoServer和GeoWebCache的下载安装都非常简单,这里选择"独立于平台的二进制版本" ...
- 工作流调度器-Azkaban
1.工作流调度器 1.为什么需要工作流调度系统 一个完整的数据分析系统通常都是由大量任务单元组成: shell脚本程序,java程序,mapreduce程序.hive脚本等 各任务单元之间存在时间先后 ...
- 一个奇葩的SQL题,够强大。
困惑描述: 现有一张图片表,表里一个sort字段,这个字段是不重复的.不连续的数字.大致结构如下 create table Imgs( `id` bigint(20) NOT NULL AUTO_IN ...
- 应用中的 PostgreSQL项目案例
title: 应用中的 PostgreSQL项目案例 date: 2025/2/3 updated: 2025/2/3 author: cmdragon excerpt: 随着大数据和云计算的兴起,企 ...
- 基于生成式AI的访问控制, 迁移传统安全策略到基于LLM的风险分类器
基于规则的风险分类 风险分类是网络安全系统的核心能力之一,它将访问请求和命令映射到其风险级别/类别:高(High).中(Medium).低(Low).目前,即便是在大规模环境中,风险分类器仍主要采用基 ...
- wsgi服务器
wsgi服务器DRP原则:Don't repeat yourself1.wsgi接口:全称 Web Server Gateway Interface (web服务器网关接口) 请求:request 响 ...