当前位置: 首页 > news >正文

Docker发展与简介【docker (一)】

目录

1.云服务与虚拟化基础

1.1云服务模型介绍

1.2 常见云服务提供商

2.虚拟化技术概述

2.1 虚拟化基础

2.1.1.虚拟化类型

2.1.2. 虚拟化产品

3 Docker简介及其重要性

3.1. 为什么使用 Docker

3.2Docker 版本:CE vs EE

3.3 Docker 与传统虚拟化的区别

3.4 容器化技术的生态系统

3.5 Docker 容器的优势

4 Docker 基础概念

1.docker简介

2.Docker 组成

3.Docker 的核心技术

4.Docker 核心概念

5.Docker 安装与配置

5.Docker 容器管理

1.Docker 镜像操作

1.1 搜索镜像

1.2 获取镜像

1.3 镜像加速下载

1.4查看本地所有镜像:

1.5 获取镜像详细信息

1.6 为本地镜像添加标签

1.7 删除镜像

1.8 存储镜像(导出)

1.9 载入镜像(导入)


1.云服务与虚拟化基础

1.1云服务模型介绍

云计算是通过网络为用户提供可伸缩的计算资源。云服务通常分为以下几种类型:

1. IaaS(基础设施即服务)

  • 提供虚拟化计算资源(如虚拟机、存储、网络等)。
  • 用户可以灵活配置自己的计算环境,负责安装操作系统、管理资源等。
  • 优点:灵活度高、可扩展性强。
  • 缺点:管理复杂,需要较多技术支持。

2. PaaS(平台即服务)

  • 提供一个开发平台,用户可以在上面开发应用程序,而无需关注底层硬件或操作系统。
  • 优点:简化开发过程,适合开发者。
  • 缺点:灵活度较低,可能受到平台限制。

3. SaaS(软件即服务)

  • 提供已经构建好的应用程序,用户可以直接使用,无需安装和维护。
  • 优点:快速部署,省时省力。
  • 缺点:定制化差,依赖于服务提供商。

4. DaaS(数据即服务)

  • 提供数据处理和分析服务,用户可以访问、分析云端存储的大数据。
  • 优点:降低用户管理数据的难度。
  • 缺点:可能涉及数据隐私问题。

1.2 常见云服务提供商

  • 阿里云、腾讯云、AWS、Google Cloud、华为云等是市场上主要的云服务提供商。
  • 云服务提供商通常提供各种服务,如存储、计算、网络、CDN 等。

2.虚拟化技术概述

2.1 虚拟化基础

2.1.1.虚拟化类型
  • 全虚拟化:虚拟化软件完全模拟硬件环境,允许多个操作系统共享硬件资源,彼此之间相互独立。
    • 适用场景:需要兼容多个操作系统(如 Linux 与 Windows 同时运行)的环境。
  • 半虚拟化:虚拟机与宿主操作系统协作,通过修改操作系统内核来提高性能。
    • 适用场景:高性能需求的环境,尤其是优化了开源操作系统(如 Linux)的虚拟化。
2.1.2. 虚拟化产品
  • VMware:广泛使用的企业级虚拟化平台,支持全虚拟化和半虚 拟化。 企业版 mac fusion
  • EXSI企业版 vsphere work

3 Docker简介及其重要性

3.1. 为什么使用 Docker

Docker 是一种容器化技术,它使得开发者可以将应用及其依赖打包到一个标准化的容器中,从而在任何环境下都能一致地运行。这个概念类似于将应用放入一个容器(集装箱),无论容器被移动到哪个环境,它都能保持原有的运行状态。

容器技术相比传统的虚拟化技术(如 VMware)具有显著优势。传统虚拟化需要在每个虚拟机中运行完整的操作系统,资源消耗大,而 Docker 仅在宿主操作系统上运行多个隔离的容器,不需要完整的操作系统,大大减少了系统开销和资源浪费。

通过 Docker,应用可以更轻松地实现跨平台部署和运行。举个例子,一辆兰博基尼应用程序被装进集装箱(容器),可以在不同的操作系统上(如 CentOS 到 Ubuntu)无缝迁移,确保应用始终以相同的方式运行。

3.2Docker 版本:CE vs EE

Docker 提供了两个主要版本:

  • Docker Community Edition (CE):适用于个人开发者或小型团队,提供基本的容器功能,免费使用。
  • Docker Enterprise Edition (EE):适用于大规模生产环境,强调企业级的安全性和支持,通常是付费版本。

每个版本的发布周期不同,CE 通常每个月发布新版本,而 EE 版本则会有更长的维护周期。

3.3 Docker 与传统虚拟化的区别

Docker 通过操作系统级虚拟化(LXC)提供轻量级的虚拟化,容器之间共享宿主机的操作系统内核,因此相比传统虚拟机,Docker 容器更加轻便、高效。

  • 传统虚拟机:每个虚拟机都包含完整的操作系统,资源占用大。
  • Docker 容器:共享宿主操作系统的内核,启动快,占用少,易于管理。

特性

Docker 容器

虚拟机

启动速度

秒级

分钟级

计算能力损耗

几乎无

损耗 50%左右

性能

接近原生

弱于

系统支持量(单机)

上千个

几十个

隔离性

资源隔离/限制

完全隔离

3.4 容器化技术的生态系统

容器技术是一种轻量级、提供隔离的虚拟化技术。这里是一些知名的容器技术:

1. Docker:市场上最为知名和流行的容器框架之一,拥有生态系统完善且社区活跃的优秀特点。它通过简单的工具和接口,使得应用程序的部署于测试过程更为简单。

2. Kubernetes:Google 开发并开源的容器编排平台,可以管理、调度和扩展容器的应用。

3. OpenShift:是 Red Hat 提供的开源的容器平台,基于 Kubernetes,但提供了更丰富的功能。

4. LXC:Linux 容器技术,比 Docker 更接近传统的虚拟化技术,可以看作是轻量级的 VM(虚拟机)。

5. Rkt:由 CoreOS 开发的一种容器技术,设计上有别于 Docker,它更注重于安全性和模块化。

6. Apache Mesos:一种用于大规模数据中心的容器编排平台,特别地,它可以与其他调度系统如 Marathon、Chronos 或 Jenkins 集成。

7. Containerd:是一个开源的容器运行时,是 Docker 的核心组件之一,可用于管理完整的容器生命周期。

8. Crio:是一个轻量级的容器运行时,专门用于 Kubernetes。

9. Singularity:一款专注于面向性能敏感和计算密集型应用程序的容器技术。

10. Podman:与 Docker 相似,但无需守护进程,支持运行和管理 OCI 容器和镜像。

3.5 Docker 容器的优势

  • 移植性:应用和其依赖打包在容器中,跨平台和跨环境运行无缝。
  • 隔离性:容器内的应用互相隔离,不会影响宿主机或其他容器。
  • 效率高:由于不需要完整的操作系统,容器消耗的资源少,启动速度快。
  • 简化部署:通过 Docker,可以轻松创建、复制、修改和删除容器,简化了应用部署和管理的复杂度。

4 Docker 基础概念

1.docker简介

  • Docker daemon(Docker守护进程)

Docker daemon是一个运行在宿主机(DOCKER_HOST)的后台进程。可通过Docker客户端与之通信。

  • Client(Docker客户端)

Docker客户端是Docker的用户界面,它可以接受用户命令和配置标识,并与Docker daemon通信。图中,docker build等都是Docker的相关命令。

  • Images(Docker镜像)

Docker镜像是一个只读模版,它包含创建Docker容器的说明。它和系统安装光盘有点像—使用系统安装光盘可以安装系统,同理,使用Docker镜像可以运行Docker镜像中的程序。

  • Container(容器)

容器是镜像的可运行实例。镜像和容器的关系有点类似于面向对象中,类和对象的关系。可通过Docker API或者CLI命令来启停,移动,删除容器。

  • Registry

Docker Registry是一个集中存储与分发镜像的服务。构建完Docker镜像后,就可在当前宿主机上运行。但如果想要在其他机器上运行这个镜像,就需要手动复制。此时可借助Docker Registry来避免镜像的手动复制。一个Docker Registry可包含多个Docker仓库,每个仓库可包含多个镜像标签,每个标签对应一个Docker镜像。这跟Maven的仓库有点类似,如果把Docker Registry比作Maven仓库的话,那么Docker仓库就可理解为某jar包的路径,而镜像标签则可理解为jar包的版本号。

2.Docker 组成

3.Docker 的核心技术

Docker 容器本质上是宿主机的一个进程,通过以下技术实现资源隔离和限制:

  • Namespace:实现资源隔离。
  • Cgroup:实现资源限制。
  • 写时复制技术(Copy-on-Write):实现高效的文件操作。

4.Docker 核心概念

1. 镜像(Image)

  • 镜像是包含应用程序及其所有依赖环境的可执行包。它是一个只读模板,基于该模板可以创建容器实例。

2. 容器(Container)

  • 容器是镜像的运行实例。容器提供了与外部环境隔离的运行时环境,可以在不同的系统上运行。
  • 容器通过 Docker 引擎启动,具有独立的文件系统、网络、进程空间。

3. 仓库(Repository)

  • 仓库是存放 Docker 镜像的地方。Docker Hub 是最常用的公共仓库,用户也可以创建私有仓库。

5.Docker 安装与配置

5.Docker 容器管理

1.Docker 镜像操作

1.1 搜索镜像

docker search nginx

1.2 获取镜像

docker pull nginx

作用:从 Docker Hub 拉取nginx镜像,默认下载最新(latest)版本。如果你不指定标签

(tag),则会下载默认的latest标签的镜像。

1.3 镜像加速下载

镜像下载可能会因为网络原因而比较慢,尤其是国内用户。这里给出了加速镜像下载的方法。

华为加速器:

mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://0a40cefd360026b40f39c00627fa6f20.mirror.swr.myhuaweicloud.com" ]
}
EOF

1.4查看本地所有镜像:

docker images

1.5 获取镜像详细信息

docker inspect 41f689c20910 (镜像ID)

1.6 为本地镜像添加标签

#格式:docker tag 名称:[标签] 新名称:[新标签]

docker tag nginx:latest nginx:web

作用:为本地的 nginx:latest 镜像添加新的标签 nginx:web,这并不会创建新的镜像,而是为

同一个镜像附加了新的标签。

1.7 删除镜像

1.8 存储镜像(导出)

docker save -o nginx.tar nginx:latest

作用:将本地镜像 nginx:latest 保存为 tar 包(nginx.tar)。这可以用于镜像备份或迁移。

1.9 载入镜像(导入)

docker load < nginx.tar/docker load -i nginx.tar

作用:从本地 tar 文件中加载镜像。你可以将导出的镜像文件通过此命令重新加载到 Docker 中。

http://www.jsqmd.com/news/130975/

相关文章:

  • 中小企业必备:低成本搭建智能客服系统的秘诀
  • 毕业设计选Python?从选题到落地的全攻略来了
  • 大模型面试必备06——InstructGPT精读
  • Opencv总结2——图像金字塔与轮廓检测
  • 基于逻辑回归实现乳腺癌预测
  • NDM 下载器:免费高速下载,断点续传不踩坑
  • Instagram长视频内容和个性化订阅可能即将到来
  • 反序列化漏洞详解:从原理到实战(非常详细,附工具包及学习资源包)
  • postman测试salesforce接口
  • 2025 最新沧州漏水维修公司TOP5 评测!优质企业及施工单位选择指南,精准检测 + 长效治理权威榜单发布,技术赋能守护建筑安全 - 全局中转站
  • 【掺铒光纤放大器(EDFA)模型】掺铒光纤放大器(EDFA)分析模型的模拟研究附Matlab代码
  • Vivado下载速率优化技巧(适用于Artix-7)
  • windows11家庭版,无线网卡与蓝牙驱动问题; - 风潇潇兮-Missmen
  • 张雪峰推崇 “干安全有前景”,为何众多网友并不认同?
  • 2025论文神器终极指南:8款免费工具实测,30分钟生成5万字高信度问卷数据!
  • Docker 容器核心配置实战:资源管控、数据卷与容器互联
  • Pr字幕样式如何统一修改?简单3步,新手也能一次改完
  • https代理服务器(八)安卓7
  • 频率响应与信号完整性:一文说清其关联机制
  • 【攻防世界】reverse | tt3441810 详细题解 WP
  • 2025 最新沧州堵漏公司 TOP5 评测!优质企业及施工单位选择指南,技术驱动 + 品质实证权威榜单发布,专业赋能守护建筑安全 - 全局中转站
  • 最新版 Nmap 安装配置教程:2025 超详细实操指南
  • 2025最强福利!9款免费AI论文生成润色工具,提升学术原创性必备!
  • 网工抓包高手必备:tcpdump 玩明白才是王道!(语法参数 + 应用场景一篇搞懂)
  • 本地搭云盘还能远程用?Cloudreve + cpolar内网穿透的简单方案
  • 自容式水听器是什么?偶信科技为您解答
  • https代理服务器(七)假如被CA出卖
  • 哈希表与堆栈:数据存储全解析
  • 大模型选型神器:DeepSeek 辅助分析业务需求匹配最优 AI 工具
  • Burp Suite 插件 | SQL 注入自定义扫描和分析