面试题之Docker篇

1、Docker 是什么?

Docker一个开源的应用容器引擎,是实现容器技术的一种工具,让开发者可以打包他们的应用以及环境到一个镜像中,可以快速的发布到任何流行的操作系统上。

2、Docker的三大核心是什么?

镜像:Docker的镜像是创建容器的只读模板,通过镜像启动一个容器或多个容器。

容器:Docker的容器是镜像创建出来的运行实例,可以把容器看做是一个简易版的linux环境和运行在其中的应用程序。

仓库:用来存放镜像的地方,每个镜像有不同标签(tag)。

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

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

4、Docker与虚拟机的区别

内核:虚拟机有单独的系统内核,Docker与宿主机共享系统内核,所以虚拟机相对与Docker隔离性更好一些,虚拟机相当于物理层面的隔离,Docker相当于应用层面的额隔离。

大小:Docker镜像一般在几十M到几百M,比较轻量,虚拟机一般在在几G,比较笨重。

速度:Docker共享宿主机内核一般秒级启动,虚拟机时分钟级别的。

资源:Docker占用更少的资源,虚拟机有完整的系统所以占用资源比较多。

5、Docker容器的集中状态

状态有7种:

  • created(已创建)
  • restarting(重启中)
  • running(运行中)
  • removing(迁移中)
  • paused(暂停)
  • exited(停止)
  • dead(死亡)
6、如何把主机的东西拷贝到容器内部?

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

7、进入容器的方法有哪些?

通过 docker exec 进入容器内部。

8、如何让容器随着 Docker 服务启动而自动启动?
  • 创建容器时,加上 --restart=always 参数。
  • 创建容器后,通过修改容器配置文件的 RestartPolicy 参数值。
  • 创建容器后,使用 docker update 命令更新容器的 --restart 参数值。
9、如何指定容器的端口映射?
  • 创建容器时,通过 -p 来指定端口映射。
  • 创建容器后,通过修改容器的配置文件来指定端口映射。

10、如何查看容器服务的默认端口

通过 docker ps 查看运行端口是什么。

也可以通过 docker inspect 查看镜像信息,然后找到端口映射一栏。

11、如何指定容器的目录映射?

创建容器时,通过 -v 来指定目录映射。

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

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

按 Ctrl+p+q

13、查看容器日志信息

使用 docker logs

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

默认情况下:

Ubuntu系统中 Docker 的配置文件是/etc/default/docker,

CentOS系统配置文件存放在/etc/sysconfig/docker

15、什么是 DockerFile?

Dockerfile 是一个文本文件,其中包含构建 Docker 映像所需的所有命令。 Docker 使用 Dockerfile 中的指令自动构建镜像。我们可以使用docker build创建自动构建,按顺序执行多个命令行指令。

16、docker常用的命令

Docker环境信息 info、version

容器生命周期管理 create、exec、kill、pause、restart、rm、run、start、stop、unpause

镜像仓库命令 login、logout、pull、push、search

镜像管理 build、images、import、load、rmi、save、tag、commit

容器运维操作 attach、export、inspect、port、ps、rename、stats、top、wait、cp、diff、update

容器资源管理 volume、network

系统信息日志 events、history、logs

1.events打印容器的实时系统事件

2.history 打印出指定镜像的历史版本信息

3.logs打印容器中进程的运行日志

17.容器启动过程

18.进入容器

​​​​​​​

相关推荐
济617几秒前
linux 系统移植(第二十二期)---- 初步测试BusyBox构建的根文件系统---- Ubuntu20.04
linux·运维·服务器
boy快快长大3 分钟前
Docker简单服务迁移
运维·docker·容器
RisunJan15 分钟前
Linux命令-lha(压缩或解压缩lzh格式文件)
linux·运维·服务器
范纹杉想快点毕业23 分钟前
嵌入式通信协议深度解析:从SPI/I2C到CAN总线的完整实现指南嵌入式工程师的炼成之路:从校园到实战的跨越
linux·运维·服务器·数据库·算法
0思必得027 分钟前
[Web自动化] 数据抓取、解析与存储
运维·前端·爬虫·selenium·自动化·web自动化
zmjjdank1ng27 分钟前
理解bash和shell
linux·运维·开发语言·bash
守城小轩31 分钟前
基于Chrome140的Bing自动化(关键词浏览)——脚本撰写(二)
运维·自动化·chrome devtools·浏览器自动化·指纹浏览器·浏览器开发
小王要努力上岸36 分钟前
Linux 系统启动流程
linux·运维
阿钱真强道39 分钟前
07 jetlinks-ubuntu20-rk3588-部署
linux·运维·服务器·网络协议·tcp/ip
网硕互联的小客服41 分钟前
站群服务器里的8C/4C/2C/1C有什么区别?选择哪个比较好?
运维·服务器·网络