docker面试题(4)

  1. Docker与Vagrant有何不同

    复制代码
    两者的定位完全不同
    Vagrant类似于Boot2Docker(一款运行Docker的最小内核),是一套虚拟机的管理环境,Vagrant可
    以在多种系统上和虚拟机软件中运行,可以在Windows、Mac等非Linux平台上为Docker支持,自身具
    有较好的包装性和移植性。原生Docker自身只能运行在Linux平台上,但启动和运行的性能比虚拟机要
    快,往往更适合快速开发和部署应用的场景。
  2. 开发环境中的Docker与Vagrant该如何选择

    复制代码
    Docker不是虚拟机,而是进程隔离,对于资源的消耗很少,单一开发环境下Vagrant是虚拟机上的封
    装,虚拟机本身会消耗资源.
  3. 如何将一台宿主机的docker环境迁移到另外一个宿主机

    复制代码
    停止docker服务,将整个docker存储文件复制到另外一太宿主机上,然后调整另外一台宿主机的配置即
    可。
  4. Docker容器创建后,删除了/var/run/.netns目录下的网络名字空间文件,可以手动恢复它

    复制代码
    查看容器进程ID,比如1234
    到proc目录下,把对应的网络名字空间文字链接到/var/run/netns,然后通过正常的系统命令查看操作
    容器的名字空间
  5. 什么是 Docker镜像

    复制代码
    Docker镜像是Docker容器的源代码。换句话说,Docker镜像用于创建容器。使用build命令创建镜
    像,并且在使用run启动时它们将生成容器。镜像存储在Docker注册表中,registry.hub.docker.com因
    为它们可能变得非常大,镜像被设计为由其他镜像层组成,允许在通过网络传输镜像时发送最少量的数
    据
  6. 解释基本的Docker使用工作流程是怎样的

    复制代码
    (1)从Dockerfile开始,Dockerfile是镜像的源代码;(2)创建Dockerfile后,可以构建它以创建
    容器的镜像。图像只是"源代码"的"编译版本",即Dockerfile;(3)获得容器的镜像后,应使用注册表
    重新分发容器。注册表就像一个git存储库,可以推送和拉取镜像;接下来,可以使用该图像来运行容
    器。在许多方面,正在运行的容器与虚拟机(但没有虚拟机管理程序)非常相似。
  7. 什么是docker-compose

    复制代码
    docker-compose就是一个编排同时管理多个容器的工具,与它配对使用的是一个
    docker-compose.yaml文件,docker-compose命令必须在一个包含docker-compose.yaml文件目录下
    才能使用。且当下docker-compose命令只能管理当前目录docker-compose文件中所涉及的容器,安装
    在机器上的其他容器无法干扰。docker-compose的大部分命令基本和docker的命令重合,他们唯一的
    区别是docker命令能管理机器上所有的容器和镜像文件,而docker-compose只能管理当前dockercompose文件所涉及的容器。
  8. Docker镜像联合文件系统

    复制代码
    UnionFS(联合文件系统):Union文件系统(UnionFS)是一种分成,轻量级并且高性能的文件系统,
    他支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系
    统下。Union文件系统的Docker镜像可以通过分层来进行继承,基于基础镜像,可以制作各种具体的应
    用镜像。特性:一次同时加载多个文件系统,但从外面看起来,只能看到一个文件系统,联合加载会把
    各层文件系统进行叠加起来,这样最终的文件系统会包含所有底层的文件和目录。
  9. 什么类型的应用程序无状态或有状态适合Docker容器

    复制代码
    最好为Docker Container创建无状态应用程序。我们可以从应用程序中创建一个容器,并从应用程
    序中取出可配置的状态参数。现在我们可以在生产环境和具有不同参数的QA环境中运行相同的容器。这
    有助于在不同场景中重用相同的镜像。另外,无状态应用程序比有状态应用程序更容易使用Docker容器
    进行扩展。
  10. Docker和虚拟机有啥不同

    复制代码
    Docker 是轻量级的沙盒,在其中运行的只是应用,虚拟机里面还有额外的系统。
相关推荐
rosmis13 分钟前
agent各指标定义
android·java·开发语言
mifengxing15 分钟前
Java 集合进阶(一)
java·开发语言·数据结构·复习笔记
令狐前生1 小时前
Intellij IDEA 2025 破解安装
java·ide·intellij-idea
数聚天成DeepSData1 小时前
数聚天成 DeepSData 数据价值落地实战指南
java·maven·devops
暗影凋落1 小时前
docker-image 工具展示更详细镜像层内容
运维·docker·容器
小小小米粒1 小时前
阿姆达尔定律(Amdahl‘s Law)
java·开发语言
知彼解己1 小时前
Java 版本演进
java·开发语言·spring boot
极客先躯2 小时前
高级java每日一道面试题-2026年05月11日-实战篇[Docker]-如何容器化金融产品推荐系统?
java·运维·docker·容器·金融·高级面试·金融产品推荐系统
朱容zr3331332 小时前
为什么推荐使用自增主键?使用UUID作为主键的优缺点是什么?
java·运维·数据库·后端·mysql·面试·性能优化
笨蛋不要掉眼泪2 小时前
RabbitMQ消息队列:发送者的可靠性
java·分布式·rabbitmq