Docker是一个使用Go语言开发的开源的应用容器引擎,想必绝大部分java程序员都知道Docker现在有多火爆,因为Docker让开发者可以打包他们的应用以及依赖到一个可移植的容器中,然后发布到任何流行的机器上。有想面试java工程师岗位的朋友们,Docker面试题是必做的准备之一,下面整理了常考Docker面试题,一起来学习吧。
1、什么Docker?
答:Docker是一个容器化平台,它以容器的形式将您的应用程序及其所有依赖项打包在一起,以确保您的应用程序在任何环境中无缝运行。
2、Docker与虚拟机的不同点在哪里?
答:Docker不是虚拟化方法。它依赖于实际实现基于容器的虚拟化或操作系统级虚拟化的其他工具。为此,Docker最初使用LXC驱动程序,然后移动到libcontainer现在重命名为runc。Docker主要专注于在应用程序容器内自动部署应用程序。应用程序容器旨在打包和运行单个服务,而系统容器则设计为运行多个进程,如虚拟机。因此,Docker被视为容器化系统上的容器管理或应用程序部署工具。
3、Docker容器有几种状态?
答:有四种状态:运行、已暂停、重新启动、已退出。
4、Dockerfile中最常见的指令是什么?
答:FROM:指定基础镜像;LABEL:功能是为镜像指定标签;RUN:运行指定的命令;CMD:容器启动时要运行的命令。
5、Dockerfile中的命令COPY和ADD命令有什么区别?
答:一般而言,虽然ADD并且COPY在功能上类似ÿ