1、虚拟化的作用
虚拟化技术是 IT 基础架构中最核心的能力之一,其主要作用包括:
(1)资源隔离
每个虚拟机/容器都拥有独立的资源空间(CPU、内存、磁盘、网络),互不干扰。
(2)提升资源利用率
物理机往往负载不足,通过虚拟化可以让多套系统共享一台物理服务器,提高利用率。
(3)环境迁移方便
虚拟化技术使得系统可以跨硬件、跨环境快速迁移(如 KVM、VMware 提供虚拟机迁移)。
(4)降低成本与运维难度
便于统一运维、快照备份、镜像模板部署等。
2、容器的基本定义 + 容器 vs 虚拟机
容器(Container)是什么?
容器是一种轻量级的虚拟化技术 ,使用宿主机内核,通过进程隔离+文件系统隔离来运行应用。
一句话定义:
容器是运行在宿主机上的一个独立隔离进程,拥有自己的运行环境,但共享宿主机内核。
容器 vs 虚拟机(核心差别)

总结一句话:
虚拟机虚拟硬件,容器虚拟操作系统。
3、容器引擎:Docker(目前最常用)
Docker 是目前使用率最高的容器引擎,提供容器运行、镜像管理、仓库服务等功能。
4、Docker 的 3 大核心组件
① Docker 镜像(Image)
-
类比为一个只读模板,类似于 CentOS 镜像 ISO。
-
可以包含应用程序及其依赖环境。
-
容器就是镜像的运行实例。
② Docker 容器运行时(Container Runtime)
负责运行容器,例如:
-
runC(底层)
-
containerd(管理层)
-
Docker Engine(对用户的接口)
作用:
确保容器能被创建、运行、停止、销毁,并管理生命周期。
③ Docker 镜像仓库(Registry)
类似于 Linux 的 Yum 仓库,存放镜像:
-
Docker Hub(官方)
-
阿里云镜像仓库
-
华为云镜像仓库
-
中科大、中科院、清华大学镜像仓库
-
企业可搭建私有仓库:Harbor
作用:用来上传、下载镜像。
5、为什么要用 Docker?
(1)快速部署与迁移
封装好的镜像可以秒级部署 -> CI/CD 极度友好。
(2)环境绝对一致
镜像内部包含所有依赖:
在我电脑能跑,在服务器也能跑,不存在环境差异问题。
(3)资源占用低、启动速度快
容器不需要启动内核,直接启动应用级进程。
(4)适用于现代企业架构
-
微服务架构
-
云原生架构(Kubernetes)
-
DevOps 持续交付
6、Docker 的底层原理(容器为何能隔离?)
① cgroup(Control Groups)资源控制
控制:
-
CPU
-
内存
-
IO
-
网络带宽
作用:
防止某个容器耗尽宿主机资源。
② namespaces(6 大命名空间)隔离机制
namespace 用来实现容器的隔离能力。

总结:
namespace 负责隔离,cgroup 负责资源控制。容器 = namespace + cgroup + rootfs。
7、Docker 常用基础命令详解
⭐ 一、镜像(Image)
1. 查看镜像列表
2. 下载镜像
3. 查看镜像详细信息
4. 删除镜像

以下情况需要强制删除:

-
镜像正在被容器使用
-
同一镜像对应多个 tag
5. 镜像导出(save)
导出为 tar 包(保留镜像层结构)

6. 镜像导入(load)

⭐ 二、容器(Container)
1. 创建并启动容器


带 CMD 的示例:

2. 查看容器

3. 删除容器

4. 进入容器

不同镜像可能默认没有 bash,也可用:
5. 文件复制(宿主机 ↔ 容器)
6. 导出容器(export)

注意:export 导出是"文件系统快照",不包含镜像层结构和历史记录。
7. 导入容器为镜像

save/load 与 export/import 的区别

一句话总结:
迁移镜像用 save/load,
迁移容器用 export/import。
知识点总结图
容器
├─ 虚拟化作用
│ ├─ 隔离
│ ├─ 资源利用率
│ ├─ 快速迁移
│ └─ 降低成本
│
├─ 容器定义
│ ├─ 轻量级
│ ├─ 共享内核
│ └─ 进程隔离
│
├─ 容器 vs 虚拟机
│ ├─ 启动快
│ ├─ 资源少
│ └─ 可移植性强
│
├─ Docker 架构
│ ├─ 镜像
│ ├─ 容器
│ └─ 仓库
│
├─ Docker 底层
│ ├─ cgroup(资源控制)
│ └─ namespaces(6大隔离机制)
│
└─ Docker 基础命令
├─ 镜像:pull / images / inspect / save / load
├─ 容器:run / exec / ps / rm / cp
├─ 导出:export / import
└─ 实战:CMD / ENTRYPOINT / 后台守护




