找回密码
 立即注册
首页 业界区 业界 容器面试题

容器面试题

眩疝诺 2025-7-20 09:21:37
一、docker面试题

1、docker是什么,和虚拟机的区别是什么?


  • docker是一个基于容器技术开源平台,用于打包,分发,运行应用,容器提供轻量级,快速的虚拟环境
  • 区别

    • vm是整套的操作系统
    • docker是共享主机内核,资源消耗更低,启动的非常快
    • docker启动快
    • 占用资源少
    • 隔离性
    • 可移植性

2、docker的核心组件有哪些?
  1. # Docker Engine:运行容器的引擎;
  2. # Docker Image:容器镜像,包含运行环境和应用;
  3. # Docker Container:容器,镜像运行后的实例;
  4. # Dockerfile:构建镜像的配置文件;
  5. # Docker Hub/Registry:镜像仓库,用于镜像的分发和存储;
  6. # Docker Compose:编排多个容器服务的工具。
复制代码
3、docker镜像和容器的区别是什么?


  • 镜像是只读的模版,类似与快照
  • 容器是运行镜像的实例,可以读写操作,是一个运行时环境
4、Dockerfile 是什么?常用的指令有哪些?


  • 是定义构建镜像的脚本文件
  1. # from 基础镜像
  2. # run 运行命令
  3. # copy/add 复制文件
  4. # expose 声明端口
复制代码
5、如何查看本地的镜像和容器
  1. # docker images
  2. # docker ps
复制代码
6、Docker Volume 有什么作用?如何使用?


  • 用于主机和容器之间共享数据或者持久化数据的
7、如何暴露容器的中端口给主机


  • 通过使用-p 宿主机端口:容器端口来实现
8、简述 Docker Compose 的作用和基本结构?


  • 用于定义和运行多个容器的应用
  1. version: "3"
  2. services:
  3.   web:
  4.     image: nginx
  5.     ports:
  6.       - "8080:80"
  7.   db:
  8.     image: mysql
  9.     environment:
  10.       MYSQL_ROOT_PASSWORD: root
复制代码
9、镜像层(image layer)是什么?构建时如何复用?


  • 每条dockerfile指令都会生成一层,镜像是多层叠加使用的
  • 层可以被缓存复用。减少构建时间
  • RUN可以将多个命令写在一行上面,减少层数
10、Docker 有哪些网络模式?


  • 桥接模式,容器的模式网络模式
  • 主机网络,就是和主机公用网络
  • 自定义网络
11、如何优化 Dockerfile?


  • 使用轻量级别的镜像
  • 减少层数
  • 利用缓存机制
  • 清理中间文件
12、如何实现容器间的通信


  • 在同一个网络中创建容器,容器名即为主机名,可以互相通信
13、Docker 与 Kubernetes 的关系是什么?


  • docker提供容器运行环境
  • kubernetes是容器编排平台,可以管理多个docker容器部署
  • k8s可以使用docker作为容器运行时,或者使用containerd
14、docker compose和kuberenets

-docker compose是本地开发,小型部署的容器编排工具

  • kubernetes是面向生产环境,集群级别的容器编排平台

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册