Docker面试题总结(配答案)

1.Docker 是什么?

  • 是实现容器技术的一种工具
  • 是一个开源的应用容器引擎
  • 使用 C/S 架构模式,通过远程API 来管理
  • 可以打包一个应用及依赖包到一个轻量级、可移植的容器中

2.容器是什么?

  • 对应用软件和依赖包进行标准打包
  • 应用或服务之间相互隔离,但又共享一个 OS
  • 可以打包运行在不同的系统上

3.为什么会出现容器?

为了解决单机部署应用和虚拟化的局限性而诞生

4.虚拟化是什么?

  • 可以理解成虚拟机技术
  • 一个主机可以部署多个虚拟机,每个虚拟机又可以部署多个应用
  • 对于主机来说,虚拟机就是一个普通文件

5.虚拟化的缺点是什么?

  • 资源占用多:每个虚拟机都是完整的操作系统,需要给它分配大量系统资源
  • 冗余步骤多:一个完整的操作系统,一些系统级别的步骤无法避免,比如用户登录
  • 启动慢:启动操作系统需要多久,启动虚拟机就要多久

6.Docker 有什么优势?

  • 资源占用少:每个容器都共享主机的资源,容器需要多少就用多少
  • 启动快:一条命令即可将容器启动,而容器启动时一般会将服务或应用一并启动

7.Docker 和 虚拟化的区别?

8.Docker 容器有几种在状态?

  • starting 运行状态
  • Exited 退出状态
  • Paused 暂停状态
  • healthy 健康状态
  • unhealthy 非健康状态

9.什么是仓库?

  • 存放镜像文件的地方,比如 DockerHub,可以将自己的镜像上传上去
  • 不同镜像可以有不同的标签
  • 主机可以从仓库下载镜像

10.什么是镜像?

  • 创建容器的模板
  • 同一个镜像可以创建多个不同的容器

11.什么是容器?

  • 通过镜像生成的运行实例
  • 不同容器之间是相互隔离,独立运行的
  • 通常一个容器就是一个应用或一个服务,也是我们常说的微服务

12.仓库、镜像、容器的关系是?

仓库存放镜像,主机通过仓库下载镜像,通过镜像创建容器

13.有什么常用的 Docker 命令?

docker pull 拉取镜像
docker create 创建容器
docker rm 删除容器
docker ps 列出正在运行的容器列表
docker run 创建容器并运行指定命令
docker start 启动容器
docker stop 停止运行容器
docker restart 重启容器
docker rm 删除容器
docker exec 容器执行指定命令
docker rmi 删除镜像

14.如何把主机的东西拷贝到容器内部?

通过 docker cp 命令即可,还能把容器内部内容拷贝到主机

15.进入容器的方法有哪些?

通过 docker exec 进入容器内部

16.如何让容器随着 Docker 服务启动而自动启动?

创建容器时,加上 --restart=always 参数
创建容器后,通过修改容器配置文件的 RestartPolicy 参数值
创建容器后,使用 docker update 命令更新容器的 --restart 参数值

17.如何指定容器的端口映射?
  • 创建容器,通过 -p 来指定端口映射
  • 创建容器,通过修改容器的配置文件来指定端口映射

18.如何查看官方镜像服务的默认端口是什么?

  • 可以通过 docker inspect 查看镜像信息,然后找到端口映射一栏
  • 也可以先用该镜像创建一个容器并运行,通过 docker ps 查看运行端口是什么

19.如何修改容器的端口映射?

  • 删除容器,重新创建容器,并指定端口映射
  • 通过容器配置文件修改端口映射
  • 通过 docker commit 将容器构建为一个全新的镜像,然后再通过该镜像创建新的容器,并指定端口映射

20.如何指定容器的目录映射?

  • 创建容器,通过 -v 来指定目录映射
  • 创建容器,通过修改容器的配置文件来指定目录映射

21.如何修改容器的目录映射?

  • 删除容器,重新创建容器,并指定目录映射
  • 通过容器配置文件修改目录映射
  • 通过 docker commit 将容器构建为一个全新的镜像,然后再通过该镜像创建新的容器,并指定目录映射

22.K8S 是什么?

Kubernetes 是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能

  • 快速部署应用
  • 快速扩展应用
  • 无缝对接新的应用功能
  • 节省资源,优化硬件资源的使用
  感谢大家阅读,本人见识有限,写的博客难免有错误或者疏忽的地方,还望各位大佬指点,在此表示感激不尽。文章持续更新中…
最后小编还收集了很多java大小厂面经真题,需要的朋友: 点赞 私信 :学习


#笔试题目##面经##Java##技术栈##读书笔记##题解##学习路径#
全部评论
还配了答案,太贴心了,感谢分享
点赞 回复 分享
发布于 2022-05-12 19:29

相关推荐

07-17 23:39
同济大学 golang
混合云异构计算工程师工作职责-建设业界领先的AI异构算力容器平台,提供 高性能、高稳定性、高易用性的百舸产品,支持AIGC、智算中心、金融-结合 SOTA 模型训练推理优化原理,深入模 型结构与设计思路,将训练推理优化手段工程 实践化,为客户提供系统性加速方案,提升训 推效率-在自研芯片上适配常见大模型,结合深度学 习训推框架特性,开发或调优相关算子,提升模型在芯片上的性能和精度表现,辅助客户进 行芯片选型和应用-针对大规模异构集群场景下,探索训推任务 管理、异构资源调度、虚拟化混布、容器存 储、高性能网络、分布式训练和推理等技术的 创新和应用-探索业界最新技术方向,参与机器学习框架 等开源社区,提升百度混合云AI核心竞争力任职资格-本科及以上学历,有一定程度的计算机相关 专业知识背景-优秀的编码能力,熟悉Golang/Python/ Java/C/C++至少一项,有扎实的算法及数据 结构基础,有良好的编程习惯。-熟悉PyTorch,了解Megatron、 DeepSpeed、vLLM、SGLang等大模型训推 框架,做过测试、开发等工作。-对GPU芯片架构有一定了解者优先,熟悉 CUDA、OpenCL等高性能计算编程经验优先,有大规模训练推理实践经验者优先-具备推理优化的深度实践经验优先: FlashAttention、PD分离、专家并行、负载均 衡、模型压缩(蒸馏/量化)、缓存策略、异 构计算加速-具备训练优化的深度实践经验优先:分布式训练、显存优化(如Zero/Offload)、计算通 信Overlap、混合精度、MoE架构调优-熟悉Kubernetes工作原理,熟悉调度器、资 源扩展机制、容器运行时、容器网络等技术, 有Kubernetes开发和维护经验优先-有独立的分析问题和解决问题的能力,有强 烈的责任心,较强的学习能力和沟通能力
投递百度等公司10个岗位
点赞 评论 收藏
分享
评论
21
167
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务