核心内容摘要
高空抛物检测数据集VOC+YOLO格式3000张6类别
Docker 核心问题汇总原理 操作 网络全解析2026 年最新视角 · 面试/实战/运维高频问题 · 通俗 图文思路 命令对比
Docker 是什么它和虚拟机到底有什么本质区别最常问维度传统虚拟机 (VMware/ESXi/KVM)Docker 容器胜出场景为什么选 Docker虚拟化层级硬件虚拟化Hypervisor操作系统级虚拟化内核共享Docker 启动毫秒级VM 分钟级内核每个 VM 有独立 Guest OS 内核所有容器共享宿主机内核资源利用率高单机跑几十上百容器资源开销高每个 VM 都要完整 OS 内核极低只隔离进程、文件系统、网络等开发/测试/微服务首选启动速度几十秒 ~ 几分钟毫秒 ~ 几秒CI/CD、弹性伸缩隔离性强完全隔离中等共享内核Namespace cgroup生产环境敏感服务仍用 VM安全性较高较低内核漏洞可逃逸Docker 需加 seccomp/AppArmor 等加固镜像大小GB 级MB ~ 几百 MB快速分发、拉取一句话
总结虚拟机是“在宿主机上虚拟一台电脑”Docker 是“在宿主机上跑一群隔离的进程”。
Docker 三大核心组件是什么原理基石Image镜像只读模板UnionFSAUFS/OverlayFS分层构建Container容器镜像的可运行实例Namespace cgroup 隔离Repository仓库镜像存储与分发中心Docker Hub / Harbor / 阿里云ACR 等镜像分层原理最重要镜像 多层只读层 最上层可写容器层Copy-on-Write每条 Dockerfile 指令 → 一层相同层可复用 → 节省空间、加速拉取
Docker 最核心的四大底层技术面试原理必问技术全称 / 作用解决什么问题典型体现Namespace资源隔离进程、网络、文件系统、用户等相互看不见pid/net/mount/user/uts/ipc/cgroup/… nsCgroup资源限制与统计CPU/内存/IO/网络带宽限额docker stats / --cpus / --memoryUnionFS分层文件系统OverlayFS / AUFS 等镜像分层、写时复制、节省空间docker history / docker commitLibnetwork容器网络模型 CNM提供 bridge/host/overlay/macvlan 等驱动docker network ls / create / inspect
Docker 常用操作命令速查高频 Top 20类别命令示例说明 / 场景镜像docker pull nginx:alpine拉取镜像docker images/docker image ls列出本地镜像docker rmi image删除镜像强制 -f容器docker run -d --name nginx -p 80:80 nginx后台运行 端口映射docker ps -a查看所有容器-a 包含停止的docker stop/start/restart name停止/启动/重启docker exec -it name sh/bash进入容器 shelldocker logs -f name实时查看日志docker rm -f name强制删除容器构建docker build -t myapp:
0 .当前目录 Dockerfile 构建镜像网络docker network ls查看网络列表docker network inspect bridge查看 bridge 网络详情卷docker volume ls查看数据卷系统docker infoDocker 整体信息docker system df查看镜像/容器/卷占用空间docker system prune -a --volumes清理无用资源慎用
Docker 网络模式全解析最复杂、最常考网络模式创建方式IP 来源端口映射需要跨主机通信典型场景隔离级别bridge默认docker0 桥docker 分配
172.
x需要否单机多容器、开发/测试中等host--network host直接用宿主机 IP不需要—高性能网络如 Nginx、监控 agent无网络隔离none--network none无网络——自定义网络插件、纯计算任务无网络overlaydocker swarm 模式下自动 / 手动创建VXLAN 封装可选是Swarm 集群、多主机容器通信跨主机隔离macvlandocker network create -d macvlan ...宿主机子网段直通不需要是二层需要容器像物理机一样有独立 MAC/IP 的场景二层直通ipvlan类似 macvlan但不分配 MAC同 macvlan不需要是大规模容器、节省 MAC 地址二层直通快速记忆口诀单机开发 → bridge默认要最高性能、不在乎端口冲突 → hostSwarm 集群 → overlay首选容器要像物理服务器一样被交换机看到 → macvlan / ipvlan纯计算、无需网络 → none
Docker 高频问题 答案面试/故障 Top 10docker run 背后到底发生了什么pull 镜像 → 创建容器层可写 → 创建网络默认 bridge → 分配 IP → 启动入口进程PID 1镜像和容器的区别镜像 类只读模板容器 对象镜像 可写层 运行时状态数据持久化怎么做数据丢失最
常见问题volume推荐docker volume create或-v /host/path:/container/pathbind mount-v /host/dir:/container/dirtmpfs mount内存文件系统Docker 安全最佳实践跑非 root 用户USER 指令最小镜像alpine / distroless–read-only tmpfsseccomp/AppArmor/SELinux不暴露不必要端口docker build 缓存怎么失效任何一层指令变了 后面所有层都会重新构建技巧把不变的层放前面依赖安装放前代码 COPY 放后多阶段构建multi-stage build有什么用减小最终镜像体积编译环境不进最终镜像FROM golang:
22 AS builder WORKDIR /app COPY . . RUN go build -o main . FROM alpine:latest COPY --frombuilder /app/main /main CMD [/main]Swarm vs Kubernetes架构选型题Swarm简单、原生、适合中小团队K8s生态丰富、功能强大、社区活跃、云原生事实标准
七、