docker试题教学内容

  • 格式:docx
  • 大小:17.16 KB
  • 文档页数:4

d o c k
e r试题
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”]。