docker-面试题

文章目录

  • 2022-docker-面试题
    • 一、通用问题
      • 1、Docker 和虚拟机有啥不同?
      • 2、Docker 安全么?
      • 3、如何清理后台停止的容器?
      • 4、如何查看镜像支持的环境变量?
      • 5、当启动容器的时候提示:exec format error?如何解决问题
      • 6、本地的镜像文件都存放在哪里?
      • 7、如何退出一个镜像的bash,而不终止它?
      • 8、退出容器时候自动删除?
      • 9、怎么快速查看本地的镜像和容器?
    • 二、镜像相关问题
      • 1、如何批量清理临时镜像文件?
      • 2、如何查看镜像支持的环境变量?
      • 3、本地的镜像文件都存放在哪里
      • 4、构建Docker镜像应该遵循哪些原则?
    • 三、容器相关问题
      • 1、容器退出后,通过docker ps 命令查看不到,数据会丢失么?
      • 2、如何停止所有正在运行的容器?
      • 3、如何清理批量后台停止的容器?
      • 4、如何临时退出一个正在交互的容器的终端,而不终止它?
      • 5、很多应用容器都是默认后台运行的,怎么查看它们的输出和日志信息?
      • 6、使用docker port 命令映射容器的端口时,系统报错Error: No public port ‘80’ published for …,是什么意思?
      • 7、可以在一个容器中同时运行多个应用进程吗?
      • 8、如何控制容器占用系统资源(CPU,内存)的份额?
    • 四、仓库相关
      • 1、仓库(Repository)、注册服务器(Registry)、注册索引(Index)有何关系?
    • 五、配置相关
      • 1、Docker的配置文件放在那里。如何修改配置?
      • 2、如何更改Docker的默认存储设置?
    • 六、Docker 与虚拟化
      • 1、Docker与LXC(Linux Container)有何不同?
    • 七、Other FAQ
      • 1、Docker能在非Linux平台(Windows+MacOS)上运行吗?
      • 2、如何将一台宿主机的docker环境迁移到另外一台宿主机?

2022-docker-面试题

一、通用问题

1、Docker 和虚拟机有啥不同?

答:

Docker 是轻量级的沙盒,在其中运行的只是应用,虚拟机里面还有额外的系统。

2、Docker 安全么?

答:

Docker 利用了 Linux 内核中很多安全特性来保证不同容器之间的隔离,并且通过签名机制来对镜像进行验证。大量生产环境的部署证明,Docker 虽然隔离性无法与虚拟机相比,但仍然具有极高的安全性。

3、如何清理后台停止的容器?

答:

可以使用 sudo docker rm $sudo( docker ps -a -q) 命令。

4、如何查看镜像支持的环境变量?

答:

可以使用 docker run IMAGE env 命令。

5、当启动容器的时候提示:exec format error?如何解决问题

答:

检查启动命令是否有可执行权限,进入容器手工运行脚本进行排查。

6、本地的镜像文件都存放在哪里?

答:

与 Docker 相关的本地资源都存放在/var/lib/docker/目录下,其中container目录存放容器信息,graph目录存放镜像信息,aufs目录下存放具体的内容文件。

7、如何退出一个镜像的bash,而不终止它?

答:按 Ctrl-p Ctrl-q。

8、退出容器时候自动删除?

答:使用 –rm 选项,例如 sudo docker run –rm -it ubuntu

9、怎么快速查看本地的镜像和容器?

答:

可以通过docker images来快速查看本地镜像;通过docker ps -a快速查看本地容器。

二、镜像相关问题

1、如何批量清理临时镜像文件?

答:

可以使用sudo docker rmi $(sudo docker images -q -f danging=true)命令

2、如何查看镜像支持的环境变量?

答:

使用sudo docker run IMAGE env

3、本地的镜像文件都存放在哪里

答:

于Docker相关的本地资源存放在/var/lib/docker/目录下,其中container目录存放容器信息,graph目录存放镜像信息,aufs目录下存放具体的镜像底层文件。

4、构建Docker镜像应该遵循哪些原则?

答:

● 整体远侧上,尽量保持镜像功能的明确和内容的精简,要点包括:
尽量选取满足需求但较小的基础系统镜像
● 清理编译生成文件、安装包的缓存等临时文件
● 安装各个软件时候要指定准确的版本号,并避免引入不需要的依赖
● 从安全的角度考虑,应用尽量使用系统的库和依赖
● 使用Dockerfile创建镜像时候要添加.dockerignore文件或使用干净的工作目录

三、容器相关问题

1、容器退出后,通过docker ps 命令查看不到,数据会丢失么?

答:

容器退出后会处于终止(exited)状态,此时可以通过 docker ps -a 查看,其中数据不会丢失,还可以通过docker start 来启动,只有删除容器才会清除数据。

2、如何停止所有正在运行的容器?

答:

使用docker kill $(sudo docker ps -q)

3、如何清理批量后台停止的容器?

答:

使用docker rm $(sudo docker ps -a -q)

4、如何临时退出一个正在交互的容器的终端,而不终止它?

答:

按Ctrl+p,后按Ctrl+q,如果按Ctrl+c会使容器内的应用进程终止,进而会使容器终止。

5、很多应用容器都是默认后台运行的,怎么查看它们的输出和日志信息?

答:

使用docker logs,后面跟容器的名称或者ID信息

6、使用docker port 命令映射容器的端口时,系统报错Error: No public port ‘80’ published for …,是什么意思?

答:

创建镜像时Dockerfile要指定正确的EXPOSE的端口,容器启动时指定PublishAllport=true

7、可以在一个容器中同时运行多个应用进程吗?

答:

一般不推荐在同一个容器内运行多个应用进程,如果有类似需求,可以通过额外的进程管理机制,比如supervisord来管理所运行的进程

8、如何控制容器占用系统资源(CPU,内存)的份额?

答:

在使用docker create 命令创建容器或使用docker run 创建并运行容器的时候,可以使用-c|–cpu-shares[=0]参数来调整同期使用CPU的权重,使用-m|–memory参数来调整容器使用内存的大小。

四、仓库相关

1、仓库(Repository)、注册服务器(Registry)、注册索引(Index)有何关系?

答:

首先,仓库是存放一组关联镜像的集合,比如同一个应用的不同版本的镜像,注册服务器是存放实际的镜像的地方,注册索引则负责维护用户的账号,权限,搜索,标签等管理。注册服务器利用注册索引来实现认证等管理。

五、配置相关

1、Docker的配置文件放在那里。如何修改配置?

答:

Ubuntu系统下Docker的配置文件是/etc/default/docker,CentOS系统配置文件存放在/etc/sysconfig/docker

2、如何更改Docker的默认存储设置?

答:

Docker的默认存放位置是/var/lib/docker,如果希望将Docker的本地文件存储到其他分区,可以使用Linux软连接的方式来做。

六、Docker 与虚拟化

1、Docker与LXC(Linux Container)有何不同?

答:

LXC 利用Linux 上相关技术实现容器,Docker 则在如下的几个方面进行了改进:

● 移植性:通过抽象容器配置,容器可以实现一个平台移植到另一个平台;
● 镜像系统:基于AUFS的镜像系统为容器的分发带来了很多的便利,同时共同的镜像层只需要存储一份,实现高效率的存储;
● 版本管理:类似于GIT 的版本管理理念,用户可以更方面的创建、管理镜像文件;
● 仓库系统:仓库系统大大降低了镜像的分发和管理的成本;
● 周边工具:各种现有的工具(配置管理、云平台)对Docker的支持,以及基于Docker的Pass、CI等系统,让Docker的应用更加方便和多样化。

七、Other FAQ

1、Docker能在非Linux平台(Windows+MacOS)上运行吗?

答:

可以

2、如何将一台宿主机的docker环境迁移到另外一台宿主机?

答:

停止Docker服务,将整个docker存储文件复制到另外一台宿主机上,然后调整另外一台宿主机的配置即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/770694.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多个用户同时执行耗时较长的sql如何保证数据库的性能不被因此变得缓慢

当多个用户同时执行耗时较长的 SQL 查询时,可以采取一些措施来保证数据库的性能不会因此变得缓慢。以下是一些常用的方法: 优化查询语句:确保 SQL 查询语句是经过优化的,包括正确使用索引、避免全表扫描、减少不必要的连接和子查询…

前端Ajax请求从后端获取二进制文件并下载

大家都知道前端的下载除了最简单的a标签href,还有时候需要验证token,此时后台会给一个返回二进制的下载接口。如果你用ajax普通的get,post请求,接口会返回乱码。那么本文就带你封装一个处理二进制下载的方法。 1.设置responseTyp…

[网鼎杯2018]Unfinish 两种方法 -----不会编程的崽

网鼎杯太喜欢搞二次注入了吧。上次是无列名盲注,这次又是二次注入盲注。。。不知道方法还是挺难的。哎,网鼎嘛,能理解透彻就很强了。能自己做出来那可太nb了。 又是熟悉的登录框。不知道这是第几次看见网鼎杯的登录框了。后台扫描一下&#x…

『Apisix入门篇』从零到一掌握Apache APISIX:架构解析与实战指南

📣读完这篇文章里你能收获到: 🌐 深入Apache APISIX架构: 从Nginx到OpenResty,再到etcd,一站式掌握云原生API网关的构建精髓,领略其层次化设计的魅力。 🔌 核心组件全解析&#xff…

【嵌入式学习】Qtday03.26

一、思维导图 二、练习 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }void Widget::on_login_btn_clicked() {if(ui->…

OC对象 - Block解决循环引用

文章目录 OC对象 - Block解决循环引用前言1. 循环引用示例1.1 分析 2. 解决思路3. ARC下3.1 __weak3.2 __unsafe_unretained3.3 __block 4. MRC下4.1 __unsafe_unretain....4.1 __block 5. 总结5.1 ARC下5.2 MRC下 OC对象 - Block解决循环引用 前言 本章将会通过一个循环引用…

flask_restful的基本使用

优势: Flask-Restful 是一个专门用来写 restful api 的一个插件。 使用它可以快速的集成restful api 接口功能。 在系统的纯api 的后台中,这个插件可以帮助我们节省很多时间。 缺点: 如果在普通的网站中,这个插件就没有优势了&…

测试环境搭建整套大数据系统(十二:挂载磁盘到hadoop环境)

一:链接硬盘 将硬盘连接到计算机的 SATA 接口或 USB 接口,并确保硬盘通电并处于可用状态。 二:查看硬盘信息 sudo fdisk -l三:创建分区 gdisk /dev/vbd重新扫描磁盘 partprobe /dev/vdb格式化磁盘 mkfs.ext4 /dev/vdb2查看磁…

前端学习之css基本网格布局

网格布局 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>网格布局</title><style>.a{/* grid网格布局 */display: grid;width: 400px;height: 400px;border: 1px solid red;/* 设置当前…

iOS开发之SwiftUI

iOS开发之SwiftUI 在iOS开发中SwiftUI与Objective-C和Swift不同&#xff0c;它采用了声明式语法&#xff0c;相对而言SwiftUI声明式语法简化了界面开发过程&#xff0c;减少了代码量。 由于SwiftUI是Apple推出的界面开发框架&#xff0c;从iOS13开始引入&#xff0c;Apple使用…

RabbitHealthContributorAutoConfiguration 检测到 RabbitMQ 相关依赖时自动配置健康检查

RabbitHealthContributorAutoConfiguration 是 Spring Boot 自动配置机制的一部分&#xff0c;它负责在检测到 RabbitMQ 相关依赖时自动配置健康检查。下面我会详细解释其工作原理&#xff0c;并尝试提供一些相关的源码片段&#xff08;注意&#xff0c;源码可能因 Spring Boot…

我在京东做数据分析,一位京东数据分析师的工作日常

有人说&#xff1a;“种下一棵树最好的时间是十年前&#xff0c;其次是现在”。任何时候&#xff0c;我们都应该抓住机遇&#xff0c;说不定就是改变你现状的一个机会。 2020年&#xff0c;我在疫情得到控制后&#xff0c;面试入职京东大数据组&#xff0c;截止目前&#xff0…

获取高德安全码SHA1

高德开发者平台上给的三种方法 获取安全码SHA1&#xff0c;这里我自己使用的是第三种方法。 1、通过Eclipse编译器获取SHA1 使用 adt 22 以上版本&#xff0c;可以在 eclipse 中直接查看。 Windows&#xff1a;依次在 eclipse 中打开 Window -> Preferances -> Androi…

Linux logout命令教程:如何安全地退出Linux会话(附实例详解和注意事项)

Linux logout命令介绍 logout命令用于退出当前的登录Shell。这个命令可以被普通用户用来结束他们自己的会话。 Linux logout命令适用的Linux版本 logout命令在所有主流的Linux发行版中都是可用的&#xff0c;包括但不限于Debian、Ubuntu、Alpine、Arch Linux、Kali Linux、R…

flask_restful结合蓝图使用

在蓝图中&#xff0c;如果使用 Flask_RESTful &#xff0c; 创建 Api 对象的时候&#xff0c;传入蓝图对象即可&#xff0c;不再是传入 app 对象 /user/__init__.py from flask.blueprints import Blueprintuser_bp Blueprint(user,__name__)from user import views /user…

word文件如何转PDF格式?word转PDF的方法

在当今数字化时代&#xff0c;文档格式的转换已成为日常生活和工作中不可或缺的一部分。其中&#xff0c;将Word文档转换为PDF格式更是受到了广大用户的青睐。本文将详细介绍Word转PDF的方法&#xff0c;帮助读者轻松实现文档格式的转换&#xff0c;并探讨转换过程中的注意事项…

工业互联网下的增强现实

工业互联网下的增强现实 1、 概述 增强现实&#xff08;Augmented Reality&#xff0c;简称AR&#xff09;&#xff0c;增强现实技术也被称为扩增现实&#xff0c;AR增强现实技术是促使真实世界信息和虚拟世界信息内容之间综合在一起的较新的技术内容&#xff0c;其将原本在现…

【浅尝C++】类和对象第二弹=>类的6个默认成员函数/运算符重载详谈

&#x1f3e0;专栏介绍&#xff1a;浅尝C专栏是用于记录C语法基础、STL及内存剖析等。 &#x1f6a9;一些备注&#xff1a;之前的文章有点杂乱&#xff0c;这里将前面的知识点重新组织了&#xff0c;避免了过多冗余的废话。 &#x1f3af;每日努力一点点&#xff0c;技术变化看…

Appium Inspector 展示设备当前页面

定位元素需要使用appium inspector&#xff0c;之前每次都是从登录页开始&#xff0c;后来发现连接设备的时候只需要去掉appPackage、appActivity即可。 { "platformName": "Android", "platformVersion": "6", "deviceNa…

数据关联_3.7

目标 利用匈牙利算法对目标框和检测框进行关联 在这里我们对检测框和跟踪框进行匹配&#xff0c;整个流程是遍历检测框和跟踪框&#xff0c;并进行匹配&#xff0c;匹配成功的将其保留&#xff0c;未成功的将其删除。 def associate_detections_to_trackers(detections, track…