知用网
第二套高阶模板 · 更大气的阅读体验

容器技术考试重点:网络运维人员必须掌握的核心知识点

发布时间:2025-12-11 19:49:01 阅读:435 次

容器与镜像的基本概念

运维的都知道,现在部署服务基本都往容器上靠。考试第一关就是分清容器和镜像的区别。镜像是只读模板,比如 nginx:alpine 这种,容器是镜像运行时的实例。就像盖章,镜像是印模,容器是盖出来的章。

常用命令必须熟记

考试里常考 docker run、docker ps、docker exec 这些基础操作。比如启动一个后台运行的 Nginx 容器:

docker run -d -p 8080:80 --name webserver nginx:alpine

别小看这行命令,-d 是后台运行,-p 做端口映射,--name 指定名字,哪个参数错都可能丢分。

数据持久化怎么处理

容器一重启数据就没了,这在实际运维中是大问题。考试重点会考卷(volume)和绑定挂载(bind mount)。推荐用命名卷来保存数据库数据:

docker volume create dbdata

docker run -d --name mysql-db -v dbdata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0

这样就算容器删了,数据还在卷里。

网络模式不能糊弄

Docker 有 bridge、host、none 几种网络模式。bridge 是默认的,每个容器有自己的 IP;host 模式直接共用宿主机网络,性能好但端口容易冲突。考试喜欢问“哪种模式没有独立 IP”,答案就是 host。

自定义桥接网络的作用

多个容器要通信,比如前端连后端,光靠链接(--link)早过时了。得会建自定义网络:

docker network create app-net

docker run -d --name backend --network app-net myapp:backend

docker run -d --name frontend --network app-net -p 8000:80 myapp:frontend

这样两个容器就能通过名字直接互通,运维配置也更清晰。

Dockerfile 写法要点

考试常让你看一段 Dockerfile 判断最终结果,或者补全指令。记住几个关键点:FROM 必须第一行,COPY 和 ADD 区别(ADD 能解压远程 URL),RUN 执行命令,CMD 是默认启动命令。

FROM alpine:latest

RUN apk add --no-cache nginx

COPY index.html /var/www/index.html

EXPOSE 80

CMD ["nginx", "-g", "daemon off;"]

每一层都会生成镜像层,合并命令能减小体积,比如把多个 RUN 合成一条。

容器编排初探:为什么考 Docker Compose

单个容器好管,一堆容器就得靠编排。Docker Compose 是考试必考项。写个 docker-compose.yml 就能一键启停多个服务。

version: '3'

services:
  web:
    image: nginx:alpine
    ports:
      - "8000:80"
    depends_on:
      - app
  app:
    build: ./app
    environment:
      - DB_HOST=db
  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: secret

这个文件一写,整个环境 docker-compose up 就跑起来了,运维效率翻倍。

资源限制和健康检查

生产环境不能让容器随便吃资源。考试会考内存、CPU 限制怎么设。比如限制容器最多用 512MB 内存:

docker run -d --name limited-app -m 512m --cpus=1.5 myapp

还有健康检查,确保服务真活着,不是容器在但进程卡了:

HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \\n  CMD curl -f http://localhost/health || exit 1