点击上方“全栈程序员社区”,星标公众号
程序员
Q1。什么是容器?
个人建议是首先解释对容器化的需求,容器用于提供一致的计算环境,从开发人员的笔记本电脑到测试环境,从过渡环境到生产环境。如今给出容器的定义,一个容器包含一个完整的运行时环境:一个应用程序,及其全部依赖项,库和其余二进制文件,以及运行该文件所需的配置文件,这些文件捆绑在一个程序包中。容器化应用程序平台及其依赖项可消除OS分布和基础架构中的差别。web
Q2。与虚拟化相比,容器化提供了哪些优点?
如下是容器化相对于虚拟化的优点:面试
容器提供实时配置和可伸缩性,但虚拟机提供缓慢的配置spring
与虚拟机相比,容器轻巧docker
与容器相比,VM的性能有限json
与VM相比,容器具备更好的资源利用率c#
Q3。容器(在咱们的例子中为Docker)与虚拟机管理程序虚拟化(vSphere)有何不一样?有什么好处?
下面给出一些区别。确保在回答中包括如下差别:微信
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.0四、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容器退出时,不会丢失数据。应用程序写入磁盘的全部数据都会保留在其容器中,直到您明确删除该容器为止。即便在容器中止后,该容器的文件系统仍然存在。

【14】进大厂必须掌握的面试题-持续监控面试

【13】进大厂必须掌握的面试题-配置管理面试

【12】进大厂必须掌握的面试题-持续测试面试

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

【10】进大厂必须掌握的面试题-版本控制面试

【9】进大厂必须掌握的面试题-DevOps面试

【8】进大厂必须掌握的面试题-Java面试-异常和线程

【7】进大厂必须掌握的面试题-Java面试-Jsp

【6】进大厂必须掌握的面试题-Hibernate

【5】进大厂必须掌握的面试题-Java面试-spring

【4】进大厂必须掌握的面试题-Java面试-jdbc
本文分享自微信公众号 - 全栈程序员社区(mush_it)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。