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 标记时, ...
随机推荐
- CentOS 安装NFS
背景 Kubernetes 对 Pod 进行调度时,以当时集群中各节点的可用资源作为主要依据,自动选择某一个可用的节点,并将 Pod 分配到该节点上.在这种情况下,Pod 中容器数据的持久化如果存储在 ...
- Idea中@Autowired 黄色波浪线问题以及注入类显示红色波浪线问题解决
解决办法: 点开路径:File--->Settings--->Editor--->Inspections--->Spring--->Spring core--->C ...
- vue 路由警告 Duplicate named routes definition
今天在开发的时候,项目报了一个警告 Duplicate named routes definition ,这里记录一下解决方式和思路. 警告产生的原因根据提示内容,我们大概猜测是和路由的name有关 ...
- 20. C++快速入门--并发基础
参考:<Professional c++>,<并发编程实战> 1 基本概念 1.1 竞争 原子性 "原子"(atomic)操作是指一种不可分割的操作, 即在 ...
- weixueyuan-Nginx集群9
https://www.weixueyuan.net/nginx/colony/ LVS(Linux虚拟服务器)简介 LVS(Linux Virtual Server)是一个开源的负载均衡项目,是国内 ...
- 2024年春秋杯网络安全联赛冬季赛部分wp
部分附件下载地址: https://pan.baidu.com/s/1Q6FjD5K-XLI-EuRLhxLq1Q 提取码: jay1 Misc day1-简单算术 根据提示应该是异或 下载文件是一个 ...
- 「CF1101F」Trucks and Cities
题意描述 有 \(N\) 座城市,第 \(i\) 座坐标为 \(a_i\) ,有 \(M\) 辆卡车,第 \(i\) 辆卡车要从城市 \(s_i\) 前往城市 \(e_i\) ,每单位长度耗油量为 \ ...
- 拒绝繁忙!免费使用 deepseek-r1:671B 参数满血模型
相信大家都已经有体验过deepseek-r1的强大推理能力,由于其网页版本免费使用的原因,用户量激增.同时据传还遭受了大量的网络攻击,这使得过程不是很流程,经常收到类似下图的问题: 同时,API服务也 ...
- 使用python实现一个可自动部署hexo博客的gitee webhook
文章首发在我的博客:https://blog.liuzijian.com/post/af1f30e3-c846-650e-9a3f-34e326bf950d.html hexo博客想在提交后自动部署, ...
- 本地部署 DeepSeek:小白也能轻松搞定!
大家好,我是晓凡. 写在前面 最近DeepSeek太火了,以至于每个小伙伴都想试试.DeepSeek 的到来可谓是开启了全民AI热潮. 本以为DeepSeek本地化部署有多难,实际上验证后很简单,操作 ...