容器技术考试重点全解析 实用操作步骤与避坑指南

容器与虚拟机的区别是基础考点

很多人在备考时容易混淆容器和虚拟机的概念。简单来说,虚拟机模拟整台计算机,包括操作系统,而容器共享宿主机的操作系统内核,只隔离应用运行环境。就像合租公寓里每个人有自己的房间(容器),而虚拟机则是每户人家都有一套完整的房子,包括厨房卫生间(完整系统)。

考试中常考的点是资源占用、启动速度和部署密度。容器启动通常在秒级,虚拟机可能需要几分钟;同样配置下,一台服务器能跑几十个容器,但可能只能支撑几个虚拟机。

镜像与容器的关系必须搞清楚

镜像是静态的文件模板,容器是镜像运行时的实例。可以理解为镜像是“程序”,容器是“进程”。比如用同一个 Nginx 镜像可以启动多个容器,各自处理不同的网站请求。

考试中常见题型是判断镜像层的共享机制。Docker 镜像采用分层结构,多个镜像可以共用基础层(如 Ubuntu 层),节省存储空间。修改只发生在最上层的可写层。

Docker 常用命令要熟练掌握

docker run、docker ps、docker build、docker exec 这几个命令几乎是必考内容。特别是 docker run 的参数,比如 -d 后台运行,-p 端口映射,-v 挂载卷,-e 设置环境变量。

docker run -d -p 8080:80 -v /data:/usr/share/nginx/html -e NAME=Mike nginx

这条命令启动一个后台 Nginx 容器,把本地 8080 映射到容器 80 端口,挂载了网页目录,并传入了一个环境变量。实际工作中上线一个服务经常就是这么一条命令搞定。

网络模式是难点也是重点

Docker 有 bridge、host、none 和 overlay 几种网络模式。bridge 是默认模式,容器通过虚拟网桥与外界通信;host 模式下容器直接使用宿主机网络,性能更好但安全性低。

考试喜欢考不同模式下的端口映射行为。比如 host 模式下 -p 参数就不起作用了,因为根本不需要端口映射。

容器编排工具的基本概念不能忽略

虽然 Docker Compose 和 Kubernetes 属于进阶内容,但考试中也会涉及基本概念。比如 docker-compose.yml 用来定义多容器应用,k8s 中的 Pod 是最小调度单位。

version: '3'
services:
  web:
    image: nginx
    ports:
      - "8000:80"
  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: example

这个简单的 compose 文件定义了一个 Web 服务和数据库服务,考试中可能会让你分析服务间如何通信,或者指出端口映射配置是否正确。

安全相关考点越来越重要

容器以 root 权限运行是一个常见安全隐患。考试中会问如何限制容器权限,比如使用非 root 用户启动、添加 --read-only 挂载根文件系统、用 seccomp 或 AppArmor 限制系统调用。

还有一个典型问题是共享宿主机命名空间的风险。比如用 --pid=host 会让容器看到所有进程,相当于开了后门,这种配置在生产环境要避免。