基本信息
文件名称:Docker容器技术与应用(第2版)(微课版) 课件 任务1.2 熟悉Docker的安装方法 .pptx
文件大小:3.86 MB
总页数:36 页
更新时间:2025-06-07
总字数:约3.7千字
文档摘要

Docker

容器技术与应用

湖北轻工职业技术学院;Docker概述;知识目标;能力目标;素质目标;项目一:Docker概述;任务1.1、认识Dokcer技术;工程师小王完成对Docker技术的调研后,公司安排小王编写Docker的安装手册,供公司相关技术人员学习,以便在公司内部推广该技术。;调研Docker与传统虚拟机的区别

传统虚拟机运行在宿主机之上,具有完整的操作系统。其自身的内存管理通过相关的虚拟设备进行支持。在虚拟机中,可为用户操作系统和虚拟机管理程序分配有效的资源,从而在单台主机上并行运行一个或多个操作系统的多个实例。每个客户操作系统都作为主机系统中的单个实体运行,但会占用较多的CPU、内存、硬盘资源。;调研Docker与传统虚拟机的区别

;Docker不同于传统的虚拟机,Docker容器是使用Docker引擎而不是管理程序来执行的。它只包含应用程序及依赖库,基于Libcontainer运行在宿主机上,因此容器比虚拟机小,并且由于主机内核的共享,可以更快地启动,具有更好的性能、更少的隔离和更好的兼容性。启动容器只需几秒即可完成。由于Docker轻量、资源占用少,使得Docker可以轻易地应用到构建标准化的应用中。;;Docker容器技术与传统虚拟机技术的特性比较如表1-1所示;Docker引擎;Docker架构

Docker采用客户端/服务器(Client/Server,C/S)架构模式,Docker架构如图1-4所示。DockerDaemon作为服务端接收客户端的请求,服务器端负责构建、运行和分发容器。客户端和服务器端可以运行在同一个Host上,客户端也可以通过Socket或RESTAPI与远程的服务器端通信。;图1-4Docker架构;Docker的核心组件

Docker的核心组件包括Docker客户端(Client)、Docker服务器(DockerDaemon)、Docker镜像(Image)、Docker仓库和Docker容器(Container)。

1.Docker客户端

Docker客户端通过命令行或者其他工具使用DockerAPI与Docker的守护进程通信。

2.Docker服务器

DockerDaemon是服务器组件,以Linux后台服务的方式运行。

3.Docker镜像

Docker镜像就是一个只读的模板,镜像可以用于创建Docker容器,每一个镜像由一系列的层组成。;Docker的核心组件

常用的生成镜像的方法主要有以下3种:

创建新镜像

下载并使用他人创建好的现成的镜像

在现有镜像上创建新的镜像。

用户可以将镜像的内容和创建步骤描述在一个文本文件中,这个文件就称为Dockerfile,通过执行“dockerbuilddocker-file”命令可以构建出docker镜像,后续详细说明。;4.Docker仓库

Docker仓库类似于代码仓库,它是Docker集中存放镜像文件的场所。有时候,人们会把Docker仓库和仓库注册服务器(Registry)混为一谈,并不严格区分。实际上,仓库注册服务器是存放仓库的地方,其上往往存放着多个仓库,每个仓库集中存放某一类镜像,往往包括多个镜像文件,通过不同的标签来进行区分。

Docker仓库分为公有(Public)仓库和私有(Private)仓库两种形式。目前,最大的公有仓库是DockerHub,存放了数量庞大的镜像供用户下载。当然,Docker也支持用户在本地网络中创建一个私有仓库。当用户创建了自己的镜像之后,可以使用push命令将其上传到公有或者私有仓库中,这样,当用户需在另一台主机上使用该镜像时,只需要将镜像从仓库中获取下来即可。;5.Docker容器

Docker利用容器来运行应用。容器是从镜像创建的运行实例,它可以被启动、开始、终止、删除。容器是一个隔离环境,多个容器之间不会相互影响,以保证容器中的应用运行在一个相对安全的环境中。;Docker所用的底层技术

名称空间:Docker通过名称空间机制为容器提供隔离的工作空间。

控制组:Linux可以通过控制组设置进程使用CPU、内存和I/O资源的限额。Docker引擎正是依赖这种底层技术来限制容器使用的资源。

联合文件系统:可以将其他文件系统合并到一个联合挂载点。联合文件系统是实现Docker镜像的技术基础。Docker镜像可以通过分层来实现继承。

容器格式:Docker引擎将名称空间、控制组和联合文件系统打包到一起所使用的就是容器格式。默认的容器格式是Libcontainer。

;Docker与DevOps

DevO