【15】进大厂必须掌握的面试题-容器化和虚拟化面试

Q1。什么是容器?

我的建议是首先解释对容器化的需求,容器用于提供一致的计算环境,从开发人员的笔记本电脑到测试环境,从过渡环境到生产环境。 现在给出容器的定义,一个容器包含一个完整的运行时环境:一个应用程序,及其所有依赖项,库和其他二进制文件,以及运行该文件所需的配置文件,这些文件捆绑在一个程序包中。容器化应用程序平台及其依赖项可消除OS分布和基础架构中的差异。

容器-devops面试问题

Q2。与虚拟化相比,容器化提供了哪些优势?

以下是容器化相对于虚拟化的优势:

  • 容器提供实时配置和可伸缩性,但虚拟机提供缓慢的配置
  • 与虚拟机相比,容器轻巧
  • 与容器相比,VM的性能有限
  • 与VM相比,容器具有更好的资源利用率

Q3。容器(在我们的例子中为Docker)与虚拟机管理程序虚拟化(vSphere)有何不同?有什么好处?

下面给出一些区别。确保在回答中包括以下差异:

docker vsphere-devops面试问题

Q4。什么是Docker映像?

Docker映像是Docker容器的来源。换句话说,Docker映像用于创建容器。图像是使用build命令创建的,开始运行时它们会产生一个容器。图像存储在Docker注册表中,例如registry.hub.docker.com,因为它们可能会变得很大,图像被设计为由其他图像层组成,从而在通过网络传输图像时仅发送少量数据。

Q5。什么是Docker容器?

这是一个非常重要的问题,因此请确保您不偏离本主题。我建议您遵循以下格式: Docker容器包括应用程序及其所有依赖项,但与其他容器共享内核,并在主机操作系统上的用户空间中作为隔离的进程运行。Docker容器不依赖于任何特定的基础架构:它们可以在任何计算机,任何基础架构和任何云中运行。 现在说明如何创建Docker容器。可以通过创建Docker映像然后运行它来创建Docker容器,也可以使用Dockerhub上存在的Docker映像。 Docker容器基本上是Docker映像的运行时实例。

Q6。什么是Docker Hub?

这个问题的答案很直接。Docker Hub是一项基于云的注册表服务,可让您链接到代码存储库,构建映像并对其进行测试,存储手动推送的映像以及与Docker云的链接,以便您可以将映像部署到主机。它为整个开发流程中的容器映像发现,分发和变更管理,用户和团队协作以及工作流自动化提供了集中式资源。

Q7。 Docker与其他容器技术有何不同?

根据我的说法,您的答案应该 包含以下几点:Docker容器易于部署在云中。与其他技术相比,它可以使更多的应用程序在同一硬件上运行,这使开发人员可以轻松快速地创建可立即运行的容器化应用程序,并使管理和部署应用程序更加容易。您甚至可以与应用程序共享容器。 如果您还有其他要点,可以这样做,但请确保您的答案中有上面的解释。

Q8。 什么是Docker Swarm?

您应该通过解释Docker Swarn开始这个答案。它是Docker的本机集群,可将Docker主机池转换为单个虚拟Docker主机。Docker Swarm提供了标准的Docker API,任何已经与Docker守护程序通信的工具都可以使用Swarm透明地扩展到多个主机。 我还将建议您包括一些受支持的工具:

  • 独库
  • Docker撰写
  • Docker机器
  • jenkins

Q9。Dockerfile的作用是什么?

根据我的回答,应该从解释Dockerfile的使用开始。Docker可以通过阅读Dockerfile中的指令来自动构建映像。 现在,我建议您给Dockerfle一个小定义。Dockerfile是一个文本文档,其中包含用户可以在命令行上调用以组装映像的所有命令。使用docker build的用户可以创建自动执行的构建,该构建可以连续执行多个命令行指令。

Q10。 我可以在Docker中的撰写文件中使用json而不是yaml吗?

您可以将json而不是yaml用于撰写文件,以将json文件与compose一起使用,指定要使用的文件名,例如:

docker-compose -f docker-compose.json up

###

Q11。 告诉我们您过去使用Docker的方式吗?

说明您如何使用Docker来帮助快速部署。说明您如何编写Docker脚本并将Docker与其他工具(如Puppet,Chef或Jenkins)一起使用。如果您以前没有使用过Docker的实践经验,也没有使用过类似领域其他工具的经验,请诚实并进行相同的解释。在这种情况下,就功能而言,是否可以将其他工具与Docker进行比较是有意义的。

Q12。如何创建Docker容器?

我建议您直接回答。我们可以通过以下命令使用Docker映像创建Docker容器: **docker run -t -i <映像名称> <命令名称>

此命令将创建并启动容器。 您还应该添加,如果要检查主机上所有运行容器的列表以及状态,请使用以下命令: docker ps -a**

Q13。如何停止并重新启动Docker容器?

为了停止Docker容器,您可以使用以下命令: docker stop <容器ID> 现在要重新启动Docker容器,您可以使用: docker restart <容器ID>

Q14。Docker容器可扩展到多远?

诸如Google和Twitter之类的大型Web部署以及诸如Heroku和dotCloud之类的平台提供商都基于容器技术运行,并行运行的容器数以十万甚至数百万计。

Q15。Docker在什么平台上运行?

首先,我将说Docker仅在Linux和Cloud平台上运行,然后再提及以下Linux供应商:

  • Ubuntu 12.04、13.04等
  • Fedora 19/20 +
  • RHEL 6.5+
  • CentOS 6以上
  • Gentoo
  • ArchLinux
  • openSUSE 12.3+
  • CRUX 3.0+

云:

  • Amazon EC2
  • Google Compute Engine
  • Microsoft Azure
  • Rackspace
  • Alibaba

Q16。Docker容器退出时是否会丢失数据?

您可以这样说:不,当Dcoker容器退出时,不会丢失数据。应用程序写入磁盘的所有数据都会保留在其容器中,直到您明确删除该容器为止。即使在容器停止后,该容器的文件系统仍然存在。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/49.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Java程序员练手项目(包含互联网项目+企业实战项目)

    最近一直被问到的一个问题:因为疫情的问题,很多同学说自己没去公司进行实习,能接触到的项目很少,自己不知道怎么去做项目,也去github找了一些项目,但是无从下手,该怎么办?提这个问题的多数的朋友是在校读书的同学,可以看出这部分同学是喜欢思考,并想提升自己能力的人,很荣幸我能够认识这些未来的优秀人才,这里我提供一些收集到的练手的项目,分享出来给需要的伙伴。锻炼项目经验其实是很重要的,学习…

  • Java程序员烂大街了吗?是,也不是

    Java程序员烂大街了吗?是,也不是Java程序员烂大街了吗?有网友吐槽精通的人少,半吊子的人烂大街。半吊子程序员确实不少,除了自身学习有关,还跟培训机构教学有关,工作后能不能继续学造有关,现在学编程的越来越多,所以企业要求相对也比前些年要高很多。  企业想招一个合格的Jjava程序员很不容易。烂大街的说法有网友不怎么赞同,因为市场自己会过,留下好的淘汰掉不合格的。不合格的程序员有一些会放弃,从事别的工作,也有的会坚持学习达到市场的要求。只不过还有很多人在选择进入这个行业而已,很正常的现象。  以前可能知道大概会怎么使用就能找份不

  • 面试java工程师的自我介绍_软件开发和程序员一样吗

    面试java工程师的自我介绍_软件开发和程序员一样吗程序员面试时一段短短的自我介绍,其实是为了揭开更深入的面谈而设计的。下面学习啦小编为你带来java程序员面试自我介绍范文的内容,希望你们喜欢。关于java程序员面试自我介绍范文篇一本人叫小冰,今年22岁,现在是吉林大学软件开发与信息管理专业方向的三年级学生,对软件开发怀有浓烈的兴趣,且对JAVA语言尤其熟悉,能熟练使用jsp、struts、struts2、sring2和hibernate3等流行的…

    2022年10月29日
  • java代码大全及详解_史上最全JVM大全详解!java程序员细节到极致的一次,魔鬼…

    java代码大全及详解_史上最全JVM大全详解!java程序员细节到极致的一次,魔鬼…前言作为Java的从业者,在找工作的时候,一定会被问及关于JVM相关的知识。JVM知识的掌握程度,在很多面试官眼里是候选人技术深度的一个重要评判标准。而大多数人可能没有对JVM的实际开发和使用经验,接下来这一系列文章将带你深入了解JVM需要掌握的各个知识点。这也将帮助你完成从初级程序员到高级程序员的转变。由于文章篇幅原因,文末有答案和解析目录线程(详解)JVM内存区域(详解)J…

  • 『程序员』[Java]JAVA程序员必看的15本书的电子版

    『程序员』[Java]JAVA程序员必看的15本书的电子版

  • 【11】进大厂必须掌握的面试题-持续集成面试

    Q1。持续集成是什么意思? 我将建议您通过对持续集成(CI)进行小的定义来开始此答案。这是一种开发实践,要求开发人员每天多次将代码集成到共享存储库中。然后,每个签入均由自动构建进行…

    2020年10月20日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号