Docker 是一种流行的开源软件平台,可简化创建、管理、运行和分发应用程序的过程。它使用容器来打包应用程序及其依赖项。Docker 主导了市场。大多数顶级 云 和 IT 公司都采用 Docker 来简化其应用程序开发工作流程。对具有 Docker 经验的申请人的需求很高。
破解 Docker 面试是获得这些令人垂涎的角色之一的关键。我们收集了 40 大 Docker 面试问题,以帮助您准备 Docker 面试。这个 Docker 教程包括问题和答案。让我们开始吧!
Docker 容器 在应用程序层创建抽象并将应用程序及其所有依赖项打包在一起。这使我们能够快速可靠地部署应用程序。容器不需要我们安装不同的操作系统。相反,它们使用底层系统的 CPU 和内存来执行任务。这意味着任何容器化应用程序都可以在任何平台上运行,而不管底层操作系统如何。我们也可以将容器视为 Docker 镜像的运行时实例。
Dockerfile 是一个文本文件,其中包含我们需要运行以构建 Docker 映像的所有命令。Docker 使用 Dockerfile 中的指令自动构建镜像。我们可以 docker build 用来创建按顺序执行多个命令行指令的自动构建。
为了从镜像创建容器,我们从 Docker 存储库中提取我们想要的镜像并创建一个容器。我们可以使用以下命令:
1
$ docker run -it -d <image_name>
是的,我们可以对 Docker Compose 文件使用 JSON 文件而不是 YAML
$ docker-compose -f docker-compose.json up
Docker Swarm 是一个容器编排工具,它允许我们跨不同主机管理多个容器。使用 Swarm,我们可以将多个 Docker 主机变成单个主机,以便于监控和管理。
我们可以使用以下 Docker 命令将图像从 Docker Hub 拉到我们的本地系统上:
$ docker pull <image_name>
要启动 Docker 容器,请使用以下命令:
$ docker start <container_id>
要停止 Docker 容器,请使用以下命令:
$ docker stop <container_id>
要终止 Docker 容器,请使用以下命令:
$ docker kill <container_id>
Docker 在以下 Linux 发行版上运行:
Docker 还可以通过以下云服务在生产中使用:
三个架构组件包括 Docker 客户端、主机和注册表。
虚拟化
虚拟化帮助我们在单个物理服务器上运行和托管多个操作系统。在虚拟化中,管理程序为客户操作系统提供了一个虚拟机。VM 形成了硬件层的抽象,因此主机上的每个 VM 都可以充当物理机。
容器化
容器化为我们提供了一个独立的环境来运行我们的应用程序。我们可以在单个服务器或 VM 上使用相同的操作系统部署多个应用程序。容器构成了应用层的抽象,所以每个容器代表一个不同的应用。
管理程序或虚拟机监视器是帮助我们创建和运行虚拟机的软件。它使我们能够使用单个主机来支持多个来宾虚拟机。它通过划分主机的系统资源并将它们分配给已安装的来宾环境来实现这一点。可以在单个主机操作系统上安装多个操作系统。有两种类型的管理程序:
为了使用我们概述的规范创建映像,我们需要构建一个 Dockerfile。要构建 Dockerfile,我们可以使用以下 docker build 命令:
$ docker build <path to dockerfile>
要将新镜像推送到 Docker Registry,我们可以使用以下 docker push 命令:
$ docker push myorg/img
Docker Engine 是一种开源容器化技术,我们可以使用它来构建和容器化我们的应用程序。Docker Engine 由以下组件支持:
要访问正在运行的容器,我们可以使用以下命令:
$ docker exec -it <container_id>bash
要列出所有正在运行的容器,我们可以使用以下命令:
$ docker ps
Docker 容器经历以下阶段:
Docker 对象标签是存储为字符串的键值对。它们使我们能够将元数据添加到 Docker 对象,例如容器、网络、本地守护进程、图像、Swarm 节点和服务。
Docker Compose 在继续下一个容器之前不会等待容器准备就绪。为了控制我们的执行顺序,我们可以使用“取决于”条件, depends_on 。这是在 docker-compose.yml 文件中使用的示例:
该 docker-compose up 命令将按照我们指定的依赖顺序启动和运行服务。
该 docker create 命令在指定映像上创建可写容器层,并准备该映像以运行指定命令。
应该没有标准答案,主要是看你的逻辑思维。1000台有主次的吧,要成几类,哪些需要经常维护的,哪些是需要几天几周或几月维护的。主要是你给出一个逻辑性强的,相对完整的方案,这没有标准的,你连自已都不满意的答案,面试官肯定也不满意了。1000台你想想可能是让你一个人管理吗,是给你配备多少人,还是让你一个人具体去维护,要把前题问清,或你假定一定的条件,提出你的一个设想性方案。就OK了~~欢迎分享,转载请注明来源:夏雨云
评论列表(0条)