43+ Docker 面试问题及答案(2025)
面向新人的 Docker 面试问题和答案
1.什么是Docker?
Docker 是一种开源轻量级容器化技术。它在云和应用程序打包领域广受欢迎。它允许您在轻量级和可移植的容器中自动部署应用程序。
2.使用Docker容器有什么好处?
以下是使用 Docker.
- 提供高效、简单的初始设置
- 允许您详细描述应用程序的生命周期
- 简单配置并与Docker Compose交互。
- 文档提供了每一点信息。
3.Docker 有哪些重要特性?
以下是 Docker 的基本功能:
- 轻松建模
- 版本控制
- 展示位置/亲和力
- 应用敏捷性
- 开发人员生产力
- Opera国家效率
4.Docker 的主要缺点是什么?
Docker 的一些显著缺点是:
- 不提供存储选项
- 提供较差的监控选项。
- 不自动重新安排不活跃节点
- 复杂的自动水平缩放设置
5.什么是Docker镜像?
Docker 镜像有助于创建 Docker 容器。您可以使用 build 命令创建 Docker 镜像。因此,它会创建一个在开始运行时启动的容器。每个 docker 镜像都存储在 Docker 注册表中。
6.什么是Docker Engine?
Docker 守护进程或 Docker 引擎代表服务器。docker 守护进程和客户端应在同一台或远程主机上运行,可以通过命令行客户端二进制文件和完整 RESTful API.
7. 解释注册表
有两种类型的注册表
- 公共登记处
- 私人注册中心
Docker 的公共注册中心称为 Docker hub,它允许您私密地存储镜像。在 Docker hub 中,您可以存储数百万个镜像。
8. 您应该运行什么命令来查看 Docker 中所有正在运行的容器?
$ docker ps
9.编写停止docker容器的命令
$ sudo docker stop container name
10. 将镜像作为容器运行的命令是什么?
$ sudo docker run -i -t alpine /bin/bash
针对资深专业人士的 Docker 面试问题
11.Dockerfile中常用的指令有哪些?
Dockerfile中常见的指令有:FROM、LABEL、RUN、CMD。
12.什么是内存交换标志?
Memory-swap 是一个经过修改的标志,只有当 memory 也设置时才有意义。当容器耗尽所有可用的 RAM 时,Swap 允许容器将快速内存需求写入磁盘。
13.解释一下Docker Swarm?
Docker Swarm 是 Docker 的原生集群,可帮助您将一组 Docker 主机整合为单个虚拟 Docker 主机。它提供标准的 Docker 应用程序接口。
14.如何在生产环境中监控docker?
Docker 状态和 Docker 事件用于监控生产环境中的 Docker。
15.Docker容器有哪些状态?
Docker容器的重要状态有:
- 运行
- 已暂停
- 重新启动
- 已退出
16.什么是Docker hub?
Docker hub 是一个基于云的注册表,可帮助您链接到代码存储库。它允许您在 Docker 云中构建、测试和存储您的映像。您还可以借助 Docker hub 将映像部署到您的主机。
17.什么是虚拟化?
虚拟化是一种逻辑划分大型机以允许多个应用程序同时运行的方法。
然而,当公司和开源社区能够提供处理特权指令的方法时,这种情况发生了变化。它允许多个操作系统在单个基于 x86 的系统上同时运行。
18.什么是 Hypervisor?
虚拟机管理程序允许您创建一个虚拟环境,客户虚拟机可以在其中运行。它控制客户系统并检查是否根据需要将资源分配给客户。
19. 解释 Docker 对象标签
Docker 对象标签是一种将元数据应用于 Docker 对象(包括图像、容器、卷、网络、集群节点和服务)的方法。
20. 编写一个 Docker 文件来创建和复制一个目录并使用 python 模块构建它?
FROM pyhton:2.7-slim WORKDIR /app COPY . /app docker build –tag
21.docker 卷存储在哪里?
您需要导航:
/var/lib/docker/volumes
22. 列出一些重要的高级 docker 命令
命令 | 描述 |
---|---|
码头工人信息 | 信息司令部 |
码头工人拉 | 下载图片 |
码头工人统计 | 容器信息 |
Docker图片 | 下载的图像列表 |
23.Docker 客户端和 Docker Daemon 之间如何通信?
您可以使用 Rest API、socket.IO 和 TCP 的组合在 Docker 客户端和 Docker Daemon 之间进行通信。
24. 解释一下Docker中持续集成(CI)和持续开发(CD)的实现方法?
您需要做以下事情:
- 在 docker 上运行 Jenkins
- 您可以使用 docker-compose 在 Jenkins 中运行集成测试
25. 使用 Systemd 控制 Docker 的命令有哪些?
systemctl start/stop docker service docker start/stop
26.如何使用 JSON 代替 YAML 编写文件?
docker-compose -f docker-compose.json up
27. 将新镜像推送到 Docker 注册表需要输入什么命令?
docker push myorg/img
28. 如何包含复制/添加或卷的代码?
在 docker file 中,我们需要使用 COPY 或 ADD 指令。这对于重新定位代码很有用。但是,如果我们想进行更改,则应该使用卷。
29. 解释一下 Docker 容器扩展的过程
Docker 容器可以扩展到任意级别,从几百个容器到几千个或几百万个容器。唯一的条件是容器始终需要内存和操作系统,并且 Docker 在扩展时不应受到限制。
30.创建Docker容器的方法是什么?
您可以使用任何特定的 Docker 映像通过以下命令创建 Docker 容器。
docker run -t -i command name
此命令不仅创建容器,还为您启动它。
针对 5 年经验的 Docker 面试问题
31.Docker容器生命周期的步骤是什么?
以下是Docker生命周期的步骤:
- 构建
- 拉
- 运行
32. 如何使用单个服务运行多个容器?
通过使用 docker-compose,您可以使用单个服务运行多个容器。所有 docker-compose 文件都使用 yaml 语言。
33.什么是CNM?
CNM 代表容器网络模型。它是 Docker, Inc. 制定的标准或规范,构成了 Docker 环境中容器网络的基础。此 Docker 方法为容器网络提供了对多种网络驱动程序的支持。
34.Docker 是否支持 IPV6?
是的,Docker 支持 IPv6。仅在 Linux 主机上运行的 Docker 守护程序支持 IPv6 网络。但是,如果您想在 Docker 守护程序中启用 IPv6 支持,则需要修改 /etc/docker/daemon.json 并将 ipv6 键设置为 true。
35.容器退出时会丢失数据吗?
不会,应用程序写入磁盘的任何数据都会存储在容器中。容器的文件系统即使在容器停止后仍会保留。
36.Docker 中有哪些不同类型的卷挂载类型?
绑定挂载-它可以存储在主机系统上的任何位置
37.如何配置Docker下默认的日志驱动?
要将 Docker 守护程序配置为默认使用特定日志记录驱动程序。您需要将 log-driver 的值设置为日志记录驱动器的名称 daemon.jason.fie。
38.解释一下Docker Trusted Registry?
Docker Trusted Registry 是 Docker 的企业级镜像存储工具。您应该将其安装在防火墙后面,以便可以安全地管理应用程序中使用的 Docker 镜像。
39.什么是 Docker 命名空间?
Docker 中的命名空间是一种提供隔离工作空间(称为容器)的技术。命名空间还为 Docker 容器提供了一层隔离。
40. Docker 的三个组件是什么 Archi质地
- 客户
- Docker 主机
- 注册表
41.什么是客户端?
Docker 向客户端提供命令行界面工具以便与 Docker 守护进程交互。
42.Docker_Host 的用途是什么?
它包含容器、镜像和 Docker 守护进程。它提供了一个完整的环境来执行和运行您的应用程序。
43. 如何在同一台主机上运行 Compose 文件的多个副本?
Compose 使用项目名称,它允许您为项目的所有容器和其他资源创建唯一标识符。要运行项目的多个副本,请使用 -a 命令行选项或使用 COMPOSE_PROJECT_NAME 环境变量设置自定义项目名称。
这些面试问题也会对你的口试有帮助