docker面试题最新版

Q1、DevOps需要什么?
如今,公司不再发布大量功能,而是尝试将小的功能传输给客户。这有许多优点,如来自客户的快速反馈,更好的软件质量等,从而导致高客户满意度。为了实现这一目标,公司必须:
增加部署频率
降低新版本的故障率
缩短修复之间的准备时间
新版本崩溃时更快的平均恢复时间
DevOps满足所有这些需求,并帮助实现无缝的软件交付。
Q2、DevOps有哪些优势?
技术优势:
持续的软件交付
需要修复不太复杂的问题
更快地解决问题
商业利益:
更快地提供功能
更稳定的操作环境
更多时间可用于增加价值(而不是修复/维护)
Q3、CI(持续集成)服务器的功能是什么?
CI服务器的功能是持续集成不同开发人员对存储库所做的所有更改,并检查编译错误。它需要一天构建几次代码,最好是在每次提交之后,这样它就可以检测出哪一个提交在发生破坏时造成了破坏。
Q4、什么是docker?
Docker是一个容器化平台,它将应用程序及其所有依赖项以容器的形式打包在一起,以确保应用程序在任何环境(无论是开发环境、测试环境还是生产环境)中无缝运行。
Docker容器,将一个软件包在一个完整的文件系统中,其中包含运行所需的一切:代码、运行时、系统工具、系统库等任何可以安装在服务器上的东西。
它都将始终运行相同的程序,无论软件的环境如何。
Q5、如何使用Docker构建与环境无关的系统?
有三个主要功能有助于实现这一目标:

环境变量注入
只读文件系统
Q6、Dockerfile中的命令COPY和ADD命令有什么区别?
一般而言,虽然ADD并且COPY在功能上类似,但是首选COPY。
那是因为它比ADD更易懂。COPY仅支持将本地文件复制到容器中,而ADD具有一些功能(如仅限本地的tar提取和远程URL支持),这些功能并不是很明显。因此,ADD的最佳用途是将本地tar文件自动提取到镜像中,如ADD rootfs.tar.xz /。
Q7、什么是Docker镜像?
Docker镜像是Docker容器的源代码。换句话说,Docker镜像用于创建容器。使用build命令创建镜像,并且在使用run启动时它们将生成容器。镜像存储在Docker注册表中,registry.hub.docker.com因为它们可能变得非常大,镜像被设计为由其他镜像层组成,允许在通过网络传输镜像时发送最少量的数据。
Q8、什么是Docker容器?
Docker容器包括应用程序及其所有依赖项,但与其他容器共享内核,在主机操作系统的用户空间中作为独立进程运行。Docker容器不依赖于任何特定的基础架构:它们可以在任何计算机,任何基础架构和任何云中运行。
Q9、什么是Docker Hub?
Docker hub是一个基于云的注册表服务,允许您链接到代码存储库,构建映像并测试它们,存储手动推送的镜像以及指向Docker云的链接,以便您可以将镜像部署到主机。它为整个开发流程中的容器发现,分发和变更管理,用户和团队协作以及工作流自动化提供了集中资源。
10、Docker容器在任何给定时间点可以处于什么状态?
在任何给定的时间点,Docker容器都可以有四种状态。如下:
运行
已暂停
重新启动
已退出
11、有没有办法识别Docker容器的状态?
我们可以通过运行命令来识别Docker容器的状态
docker ps –a
这将依次列出所有可用的docker容器及其在主机上的相应状态。我们可以很容易地识别感兴趣的容器,以相应地检查其状态。
12、Dockerfile中最常见的指令是什么?
Dockerfile中的一些常见指令如下:
FROM:我们使用FROM为后续指令设置基本镜像。在每个有效的Dockerfile中,FROM是第一条指令。
LABEL:我们使用LABEL根据项目,模块,许可等组织我们的镜像。我们也可以使用LABEL来帮助实现自动化。在LABEL中,我们指定一个键值对,以后可用于以编程方式处理Dockerfile。
RUN:我们使用RUN命令在当前图像之上的新图层中执行任何指令。使用每个RUN命令,我们在图像上添加一些内容,并在Dockerfile的后续步骤中使用它。
CMD:我们使用CMD命令提供执行容器的默认值。在Dockerfile中,如果我们包含多个CMD命令,则只使用最后一条指令。
13、什么类型的应用程序 - 无状态或有状态更适合Docker容器?
最好为Docker Container创建无状态应用程序。我们可以从应用程序中创建一个容器,并从应用程序中取出可配置的状态参数。现在我们可以在生产环境和具有不同参数的QA环境中运行相同的容器。这有助于在不同场景中重用相同的镜像。另外,无状态应用程序比有状态应用程序更容易使用Docker容器进行扩展。
14、解释基本的Docker使用工作流程
15、Docker Image和Layer有什么区别?
16、什么是虚拟化?
17、什么是管理程序?
18、什么是Docker Swarm?
19、您将如何监控生产中的Docker?
篇幅原因,文中一些问题答案没有做出具体展示,需要的朋友可以私信我,获取答案详解。希望分享的内容对大家有所帮助,文章部分内容来源于网络。搜集整理了一些Java资料,包括Java进阶学习路线以及对应学习资料,还有一些大厂面试题,需要的朋友可以自行领取:
Java高级架构学习资料分享+架构师成长之路​713dbae4.wiz03.com

你可能感兴趣的:(docker面试题最新版)