0


Docker面试题

文章目录

1. 什么 Docker?

Docker 是一个容器化平台,它以容器的形式将您的应用程序及其所有依赖项
打包在一起,以确保您的应用程序在任何环境中无缝运行。

2. Docker 与虚拟机有何不同?

Docker 不是虚拟化方法。它依赖于实际实现基于容器的虚拟化或操作系统级
虚拟化的其他工具。为此,Docker 最初使用 LXC 驱动程序,然后移动到
libcontainer 现在重命名为 runc。Docker 主要专注于在应用程序容器内自动
部署应用程序。应用程序容器旨在打包和运行单个服务,而系统容器则设计为
运行多个进程,如虚拟机。因此,Docker 被视为容器化系统上的容器管理或
应用程序部署工具。
l 容器不需要引导操作系统内核,因此可以在不到一秒的时间内创建容器。
此功能使基于容器的虚拟化比其他虚拟化方法更加独特和可取。
l 由于基于容器的虚拟化为主机增加了很少或没有开销,因此基于容器的虚
拟化具有接近本机的性能。
l 对于基于容器的虚拟化,与其他虚拟化不同,不需要其他软件。
l 主机上的所有容器共享主机的调度程序,从而节省了额外资源的需求。
l 与虚拟机映像相比,容器状态(Docker 或 LXC 映像)的大小很小,因此
容器映像很容易分发。
l 容器中的资源管理是通过 cgroup 实现的。Cgroups 不允许容器消耗比分
配给它们更多的资源。虽然主机的所有资源都在虚拟机中可见,但无法使
用。这可以通过在容器和主机上同时运行 top 或 htop 来实现。所有环境
的输出看起来都很相似。

3. 什么是 Docker 镜像?

Docker 镜像是 Docker 容器的源代码,Docker 镜像用于创建容器。使用
build 命令创建镜像。

4. 什么是 Docker 容器?

Docker 容器包括应用程序及其所有依赖项,作为操作系统的独立进程运行。

5. Docker 容器有几种状态?

四种状态:运行、已暂停、重新启动、已退出。

6. Dockerfile 中最常见的指令是什么?

l FROM:指定基础镜像
l LABEL:功能是为镜像指定标签
l RUN:运行指定的命令
l CMD:容器启动时要运行的命令

7. Dockerfile 中的命令 COPY 和 ADD 命令有什么区别?

COPY 与 ADD 的区别 COPY 的 SRC 只能是本地文件,其他用法一致。

8. 解释一下 Dockerfile 的 ONBUILD 指令?

当镜像用作另一个镜像构建的基础时,ONBUILD 指令向镜像添加将在稍后执
行的触发指令。如果要构建将用作构建其他镜像的基础的镜像(例如,可以使
用特定于用户的配置自定义的应用程序构建环境或守护程序),这将非常有用。

9. 什么是 Docker Swarm?

Docker Swarm 是 Docker 的本机群集。它将 Docker 主机池转变为单个虚拟
Docker 主机。Docker Swarm 提供标准的 Docker API,任何已经与 Docker
守护进程通信的工具都可以使用 Swarm 透明地扩展到多个主机。

10. 如何在生产中监控 Docker?

Docker 提供 docker stats 和 docker 事件等工具来监控生产中的 Docker。我
们可以使用这些命令获取重要统计数据的报告。
Docker 统计数据:当我们使用容器 ID 调用 docker stats 时,我们获得容器的
CPU,内存使用情况等。它类似于 Linux 中的 top 命令。
Docker 事件:Docker 事件是一个命令,用于查看 Docker 守护程序中正在进
行的活动流。
一些常见的 Docker 事件:attach,commit,die,detach,rename,
destroy 等。我们还可以使用各种选项来限制或过滤我们感兴趣的事件

标签: docker 容器 运维

本文转载自: https://blog.csdn.net/weixin_50843918/article/details/130798116
版权归原作者 桃花键神 所有, 如有侵权,请联系我们删除。

“Docker面试题”的评论:

还没有评论