第一题


第二题 镜像容器

docker save 与 docker export 完整区分

对比维度docker save(打包镜像)docker export(打包容器)
操作对象静态镜像(image)运行 / 停止的容器(container)
打包内容镜像多层只读文件 + 完整元数据(CMD/ENV/ 分层记录)容器内全部磁盘文件(只读层 + 可写层合并单层),无任何元数据
分层保留✅ 完整保留原始多层结构❌ 全部合并为单层,分层记录丢弃
内置启动命令 CMD✅ 完整保存,导入后直接 run❌ 丢失,启动必须手动指定程序
环境变量 ENV✅ 完整保留镜像预设变量❌ 全部清空
运行时垃圾(日志 / 缓存)❌ 镜像不含运行数据,包干净小巧✅ 全部打进包,体积更大、冗余多
导入命令docker loaddocker import
导入后是否可直接启动可以,和原镜像完全一致不可以,缺少启动配置


第三题 网络模式

第四题 virsh


第五题 dockerfile

Dockerfile


第六题 进程特性


第七题 virt -install

virt-install 高频参数汇总

参数完整长参数作用记忆技巧
-n--name设置虚拟机名称n=name(名字)
-r--ram设置虚拟机内存,单位 MBram 就是运行内存,取首字母 r
-p/--vcpus--vcpus设置 CPU 核心数p 对应 processor(处理器 CPU)
-y--autostart(简化交互)安装全程自动确认交互,不用手动回车y=yes,全部选 “是”
--disk--disk path=xxx,size=xxx配置虚拟磁盘路径、磁盘容量disk = 磁盘,英文直接记
--cdrom--cdrom挂载系统 ISO 镜像文件(安装系统镜像)cdrom = 光驱,放系统安装镜像
--network--network bridge=xxx配置虚拟机网络、绑定网桥network = 网络
--graphics--graphics vnc开启 VNC 远程图形控制台graphics = 图形画面
virt-install \
-n centos-test \        # -n:虚拟机名
-r 2048 \               # -r:内存2G
-p 2 \                  # -p:2核CPU
--cdrom /opt/CentOS-7.iso \ # 系统镜像
--disk path=/data/centos.qcow2,size=50 \ # 50G磁盘
--network bridge=br0 \  # 网桥网络
--graphics vnc \        # 开启VNC图形
-y                      # 全程自动确认

下面两条命令执行效果完全一致:

# 短参数写法(考试必考)
virt-install -r 2048
# 长参数两种写法都支持
virt-install --ram 2048
virt-install --memory 2048

第八题 nice修改进程优先级

命令作用对象优先级类型
nice尚未启动的程序静态优先级(启动前设定)
renice已经运行的进程(PID)运行中调整 nice 值


第九题 进程分类


第十一(二)题 virt-* 系列工具 vs virsh 

命令作用生产使用场景
virsh start vm1开机启动虚拟机日常业务开机、故障恢复开机
virsh shutdown vm1优雅软关机(系统正常收尾)版本变更、例行维护,优先用这个,数据安全
virsh destroy vm1强制断电硬关机虚拟机卡死、SSH 连不上、shutdown 无响应,紧急故障处理
virsh reboot vm1虚拟机内部软重启系统配置修改后优雅重启业务
virsh restart vm1libvent 层面重启(先关再开)虚拟机进程异常,需要彻底重建运行进程

命令作用生产场景
virsh suspend vm1挂起暂停虚拟机临时让出 CPU 资源给核心业务、临时冻结故障虚拟机排查问题
virsh resume vm1恢复运行排查结束、资源空闲后唤醒业务


第十三题 dockerfile


容器操作

维度RUNADD
操作对象对镜像内部已有的文件执行命令(操作内容)把外部(宿主机/网络)的东西搬进内部(操作物理文件)
执行环境在容器内执行(比如 apt, pip, npm)在宿主机读取文件,然后写入镜像层
产出物改变文件的内容/权限/状态增加或替换文件实体
是否生成新层是(命令执行成功就固化一层)是(复制完成就固化一层)


第十四题 dockerfile


完整 Dockerfile 案例,串联 RUN 和 ENTRYPOINT

FROM centos:7
# 【构建阶段RUN:打包时安装nginx,把程序文件写入镜像】
RUN yum install -y nginx && yum clean all
# 拷贝网页文件到镜像
COPY index.html /usr/share/nginx/html/
# 【仅记录启动规则,build阶段不启动nginx,容器run时才执行】
ENTRYPOINT ["nginx","-g","daemon off;"]

对比项RUNENTRYPOINT
执行时机docker build构建打包阶段docker run容器开机启动阶段
核心作用安装软件、建目录、改权限,写入静态文件启动已经装好的程序,拉起业务进程
执行结果改动固化进镜像,永久保留文件仅当前运行的容器生效,容器删除进程消失
重复执行镜像构建只执行 1 次每启动一次容器,就执行 1 次
能不能互相替代不能,RUN 只管 “装”不能,ENTRYPOINT 只管 “启动运行”


第十七题 网络模式

选项对错核心错因
A错顶层 Docker 网络驱动平级,macvlan 不兼容 bridge/host/none,混淆重名的 macvlan 内部 bridge 子模式
B错默认二层隔离,但可通过三层路由实现跨 macvlan 网络互通,绝对化表述错误
C错macvlan 对接物理局域网,必须手动指定 IP防止和局域网设备冲突,语义颠倒
D对满足同二层广播域条件即可实现跨服务器通信,属于 Docker 原生跨主机网络模型

第十八题 overlay


第十九题 路由转发修改

为什么要开启路由转发(结合 Docker / 运维场景讲清楚)


第二十一题 Hyper-V



第二十四题 KVM

KVM 全流程分步拆解

组件运行形态核心职能是否守护进程
virsh用户态临时客户端发送管理指令,仅做消息转发否
libvirtd用户态全局常驻后台服务统一调度、资源校验、生命周期管理、XML 配置存储是(本题答案)
qemu-kvm用户态单虚拟机独立进程模拟磁盘 / 网卡 / 显卡全部虚拟外设,桥接内核与虚拟机否,虚拟机销毁进程消失
kvm内核驱动模块,无进程CPU、内存硬件虚拟化、底层资源隔离否,内核模块不存在进程概念

第二十七题


第三十题 CPU


第三十三题 KVM目录



第三十四题 virt-install virsh

virt-install \
--name=kylin-vm \
--memory=4096 --vcpus=2 \
--disk path=/var/lib/libvirt/images/kylin.qcow2,size=50 \
--cdrom=/var/lib/libvirt/images/Kylin.iso \
--network bridge=br0


第三十六题 磁盘管理命令qemu-img


第三十八题 磁盘IO总线

virsh attach-disk testvm /data/disk2.qcow2 vdb \
--drive cache=writeback \
--targetbus virtio \
--subdriver qcow2


第四十三题 虚拟化分类


第四十五题 cgroups

第四十六题 ADD

对比项ADDCOPY
本地普通文件复制进入镜像复制进入镜像
本地 tar 压缩包自动解压原样复制,不解压
远程 URL 资源可下载不支持
生产建议仅两种场景用:①本地压缩包需要自动解压 ②必须拉取远程文件绝大多数本地文件复制场景首选

第四十七题 Linux API


第五十九题 容器知识点

特性容器虚拟化KVM/VMware 虚拟机
硬件虚拟化支持不需要必须开启 CPU VT-x/AMD-V
启动速度秒级分钟级
磁盘占用分层复用,体积小独立完整镜像,体积大
隔离粒度应用级隔离系统级强隔离

第六十题


第六十一题


第六十四题


第六十五题 进程分类


第六十六题 vfork


第七十题 存储的区别

对比维度块存储文件存储 (NAS)对象存储
访问方式格式化挂载成本地磁盘局域网挂载共享目录HTTP 链接 / API 访问
共享范围仅单台主机局域网多主机全网任意节点(靠 URL)
读写强项小数据随机修改中小文件批量读写大文件高并发上传下载
能不能局部改文件可以(最灵活)可以不行,只能整文件覆盖重传
成本最高中等最低
典型业务数据库、系统盘机房多机共享目录图片视频、归档、外网资源分发

第七十一题 磁盘


第七十二题 防火墙规则链


第七十四题 虚拟化分类


第七十九题 网络模式


第八十题 docker命令


第八十三题 磁盘格式


第九十四题docker知识点


第九十五题 Docker的网络模式


第九十七题 dockerfile


第九十九题 graphDriver


一、KVM 四大虚拟机网络模式对比

模式名称互通范围核心原理外网访问特性典型使用场景考试关键词
桥接模式同二层局域网(宿主机所在物理网段)虚拟机网卡绑定物理网桥,和物理设备同网段外网 / 局域网设备可直接主动访问虚拟机虚拟机需对外提供业务服务、和物理服务器同网络直连物理网、同网段、可被外网主动访问
隔离模式(仅主机)仅虚拟机↔宿主机互通网桥不挂载物理网卡,纯内网隔离完全无法访问外网内网测试环境、禁止出网的安全业务纯内网隔离、无外网通路
路由模式经宿主机三层路由转发宿主机充当路由器转发报文,不做 IP 地址转换外网可通过静态路由访问虚拟机需要保留虚拟机独立网段、规划路由的场景三层转发、无 NAT 地址伪装
NAT 模式依托宿主机地址转发上网宿主机做源 IP 地址伪装(SNAT)虚拟机可主动访问外网,外网无法主动访问虚拟机虚拟机仅需上网、无需对外暴露服务地址伪装、外网无法主动接入

二、Docker 容器全网络模式对比(分单机、跨主机两类)

1. 单机模式(仅单台宿主机生效)

模式名称互通范围核心原理外网访问特性考试关键词
bridge(默认网桥)同一宿主机内容器互通Docker 内置网桥,经宿主机 NAT 转发需做端口映射,外网才能访问容器单机默认、端口映射、无法天然跨主机
host容器与宿主机完全共享网络栈剥离容器网络命名空间,共用宿主机网卡 IP直接占用宿主机端口,无需端口映射高性能业务、无需网络隔离
none容器无网卡不分配任何网络接口完全断网安全审计、纯本地离线任务

2. 跨主机模式(多宿主机集群互通)

模式名称互通范围部署前提核心原理性能特点考试关键词
macvlan同一二层广播域(同交换机 / VLAN)所有宿主机接入同一个物理局域网、无三层路由隔断给容器分配独立 MAC,直接接入物理二层网络无隧道封装,转发性能高同二层、无需隧道、必须手动规划 IP 防冲突
overlay可跨路由、跨机房、跨公网Docker 集群节点网络可达VXLAN 隧道封装报文,跨三层网络传输隧道封装存在少量性能损耗全局集群、自动分配 IP、可通过容器名互访

指令本地普通文件本地 tar 压缩包远程 URL 地址考试使用建议
COPY原样复制原样把压缩包拷入,不解压不支持绝大多数场景优先用 COPY,镜像缓存更稳定
ADD原样复制自动解压归档内容支持下载远程文件仅本地压缩包解压场景使用,远程文件不用 ADD

更多推荐