Docker 面试题
Docker?
Docker是一个容器化平台,它以容器的形式将您的应用程序及其所有依赖项打包在一起,以确保您的应用程序在任何环境中无缝运行。
CI(持续集成)服务器的功能是什么?
CI功能就是在每次提交之后不断地集成所有提交到存储库的代码,并编译检查错误
Docker镜像?
Docker镜像是Docker容器的源代码,Docker镜像用于创建容器。使用build命令创建镜像
Docker容器?
Docker容器包括应用程序及其所有依赖项,作为操作系统的独立进程运行
Docker容器有几种状态?
Docker容器可以有四种状态:运行、已暂停、重新启动、已退出
Docker使用流程
1)创建Dockerfile后,您可以构建它以创建容器的镜像
2)推送或拉取镜像。
Dockerfile中最常见的指令是什么?
Dockerfile中的一些常用指令如下:
FROM:指定基础镜像
LABEL:功能是为镜像指定标签
RUN:运行指定的命令
CMD:容器启动时要运行的命令
Dockerfile中的命令COPY和ADD命令有什么区别?
COPY与ADD的区别COPY的<src>只能是本地文件,其他用法一致
docker常用命令?
docker pull 拉取或者更新指定镜像
docker push 将镜像推送至远程仓库
docker rm 删除容器
docker rmi 删除镜像
docker images 列出所有镜像
docker ps 列出所有容器
DevOps有哪些优势?
技术优势:更快地解决问题
商业利益:有更多时间可以增加价值(而不是修复/维护)
什么是虚拟化?
主要有三种类型的虚拟化:
- 仿真
- 半虚拟化
- 基于容器的虚拟化
Docker与虚拟机有何不同?
Docker不是虚拟化方法。它依赖于实际实现基于容器的虚拟化或操作系统级虚拟化的其他工具。
容器内部机制?
每个容器都在自己的命名空间中运行,但使用与所有其他容器完全相同的内核。发生隔离是因为内核知道分配给进程的命名空间,并且在API调用期间确保进程只能访问其自己的命名空间中的资源。
什么是Docker Hub?
Docker hub是一个基于云的注册表服务,允许您链接到代码存储库,构建镜像并测试它们,存储手动推送的镜像以及指向Docker云的链接,以便您可以将镜像部署到主机。它为整个开发流程中的容器镜像发现,分发和变更管理,用户和团队协作以及工作流自动化提供了集中资源。
镜像与 UnionFS
Linux 的命名空间和控制组分别解决了不同资源隔离的问题,前者解决了进程、网络以及文件系统的隔离,后者实现了 CPU、内存等资源的隔离,但是在 Docker 中还有另一个非常重要的问题需要解决 - 也就是镜像。
Docker 镜像其实本质就是一个压缩包,我们可以使用命令将一个 Docker 镜像中的文件导出,你可以看到这个镜像中的目录结构与 Linux 操作系统的根目录中的内容并没有太多的区别,可以说 Docker 镜像就是一个文件。
30.1.4.7. 存储驱动
Docker 使用了一系列不同的存储驱动管理镜像内的文件系统并运行容器,这些存储驱动与
Docker 卷(volume)有些不同,存储引擎管理着能够在多个容器之间共享的存储。