Q1。什么是容器?
我的建议是首先解释对容器化的需求,容器用于提供一致的计算环境,从开发人员的笔记本电脑到测试环境,从过渡环境到生产环境。
现在给出容器的定义,一个容器包含一个完整的运行时环境:一个应用程序,及其所有依赖项,库和其他二进制文件,以及运行该文件所需的配置文件,这些文件捆绑在一个程序包中。容器化应用程序平台及其依赖项可消除OS分布和基础架构中的差异。
以下是容器化相对于虚拟化的优势:
容器提供实时配置和可伸缩性,但虚拟机提供缓慢的配置
与虚拟机相比,容器轻巧
与容器相比,VM的性能有限
与VM相比,容器具有更好的资源利用率
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映像的运行时实例。
这个问题的答案很直接。Docker Hub是一项基于云的注册表服务,可让您链接到代码存储库,构建映像并对其进行测试,存储手动推送的映像以及与Docker云的链接,以便您可以将映像部署到主机。它为整个开发流程中的容器映像发现,分发和变更管理,用户和团队协作以及工作流自动化提供了集中式资源。
Q7。 Docker与其他容器技术有何不同?根据我的说法,您的答案应该
包含以下几点:Docker容器易于部署在云中。与其他技术相比,它可以使更多的应用程序在同一硬件上运行,这使开发人员可以轻松快速地创建可立即运行的容器化应用程序,并使管理和部署应用程序更加容易。您甚至可以与应用程序共享容器。
如果您还有其他要点,可以这样做,但请确保您的答案中有上面的解释。
您应该通过解释Docker Swarn开始这个答案。它是Docker的本机集群,可将Docker主机池转换为单个虚拟Docker主机。Docker Swarm提供了标准的Docker API,任何已经与Docker守护程序通信的工具都可以使用Swarm透明地扩展到多个主机。
我还将建议您包括一些受支持的工具:
独库
Docker撰写
Docker机器
jenkins
Q9。Dockerfile的作用是什么?根据我的回答,应该从解释Dockerfile的使用开始。Docker可以通过阅读Dockerfile中的指令来自动构建映像。
现在,我建议您给Dockerfle一个小定义。Dockerfile是一个文本文档,其中包含用户可以在命令行上调用以组装映像的所有命令。使用docker build的用户可以创建自动执行的构建,该构建可以连续执行多个命令行指令。
您可以将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 <映像名称> <命令名称>