1、什么是容器?(3分)
容器是一种轻量级、可移植、自包含的软件打包技术,使应用程序可以在几乎任何地方以相同的方式运行。
2、容器虚拟化和传统虚拟化的区别是什么?(4分)
容器虚拟化:启动一般是秒级;仅仅kernel所支持的os,系统支持量单机支持上千个容器,磁盘的使用一般为MB 性能接近原生
传统虚拟化:启动一般是分钟级,支持linux,windows,mac操作系统,系统支持量一般为几十个 磁盘使用一般为GB 性能弱
3、Namespace 在容器里功能是什么?(3分)
Namespace是命名空间隔离,主要就是将用户空间通过namespace技术隔离开,容器内的进程互不影响。共用一个内核
4、Cgroup的功能是什么的?(3分)
资源限制 优先级分配 资源统计 任务控制
5、Docker能不能在32位的系统里运行?(3分) 不能
6、Docker的核心组件有哪些?(3分) 镜像,容器,仓库
7、我们所安装的docker是哪个版本的?写不全不给分。(3分) 18.03.1-ce版本
8、如何搜索docker镜像nginx?(3分) Docker search nginx
9、如何下载centos 镜像?(3分) Docker pull centos
10、运行一个zabbix 的镜像,并打开一个终端。(3分) Docker run -it zabbix /bin/bash
11、让上个题的容器不停止,并后台运行。(3分) 先按ctrl + p 再按 ctrl + q 12、删除现在所有的镜像。(3分)
Docker rmi -f‘docker images -q -a’ 13、查看上一个容器的状态。(3分)
Docker stats `docker ps -l -q`
14、查看容器的进程。(3分) Docker top 容器id 15、查看容器的统计信息。(3分) Docker stats 容器id
16、查看容器abc的详细信息。(3分) Docker inspect abc
17、使用docker build命令有几种方法构建镜像?(3分)
两种 1、通过源代码路径的方式 2、通过标准输入流的方式
18、运行一个容器test2去使用容器test1的数据卷/date(镜像统一是nginx)。(3分)
Docker run -it --name test1 -v /date:/date nginx /bin/bash
Docker run -it --volumes-from test1 --name test2 nginx /bin/bash
19、docker的存储驱动程序有哪些?(3分)
AUES、Btrfs 、 Device mapper、 OverlayFS 、 ZFS 、VFS
20、overlay的文件系统,读取一个文件,文件不在容器里,但存在镜像里,它的工作过程是什么?(3分)
文件不存在于容器(upperdir)中。overlay/overlay2驱动程序执行一个copy_up操作将文件从镜像
(复制lowerdir)到所述容器(upperdir)。容器然后将更改写入容器层中的文件的新副本
21、overlay文件系统里有个目录是upperdir,它里面装的是什么?(3分) Upperdir是容器的可写数据层,里面装的是对容器的更改内容 22、overlay文件系统里有个目录是lowerdir,它里面装的是什么?(3分) 里面装的是镜像
23、docker里有三种方式把数据从宿主机挂载到容器,分别是volmues,bind mounts,tmpfs volumes,有什么区别?(3分)
Volumes方式下:容器内的数据被存放到宿主机(linux)一个特定的目录下
(/var/lib/docker/volumes/)。这个目录只有Docker可以管理,其他进程不能修改。如果想持久保存容器的应用数据,Volumes是Docker推荐的挂载方式。
Bind mounts方式下:容器内的数据被存放到宿主机文件系统的任意位置,甚至存放到一些重要的系统目录或文件中。除了Docker之外的进程也可以任意对他们进行修改;
tmpfs方式下:容器的数据只会存放到宿主机的内存中,不会被写到宿主机的文件系统中,因此不能持久保存容器的应用数据。
24、--net选项后面可以跟哪些参数?(4分) None、host、bridge、 overlay、 macvlan
25、现在项目需要多个容器之间疯狂交流,需要使用哪个网络?(3分) Docker overlay网络
26、打开容器test2去链接test1容器,并映射宿主机的80端口到容器的5000端口。(3分) Docker run -it -v 80:5000 –name test2 --network=container:test1 centos /bin/bash
27、什么是Orchestration?(3分)
编排(Orchestration),描述了自动配置、协作和管理服务的过程。
28、Orchestration的分类有哪些?(3分)
Docker Compose,Docker Machine,Docker Swarm
29、其中compose 使用的步骤是什么?(3分) 使用Compose仅需要三步:
1、使用dockerfile定义你的应用依赖的镜像;
2、使用docker-compose.yml定义你的应用具有的服务; 3、通过docker-compose up命令创建并运行应用;
30、swarm的调度模块的第一阶段,过滤器有几种?(3分)
5种
Constraints,约束过滤器 Affnity,亲和性过滤器 Dependency,依赖过滤器
Health filter,会根据节点状态进行过滤 Ports filter,会根据端口的使用情况过滤
31、k8s的全称是什么?在古希腊话中是什么意思?(4分)
全称是Kubernetes,在古希腊话中是舵手的意思
32、编写dockerfile,实现功能:开启容器就能查看/目录,并且能复写查看/mnt目录。镜像自选(4分)
#Vim dockerfile FROM centos RUN ls /
CMD [“ls”,”/mnt”]
docker试题
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)