一.单项选择题
构建 Docker 镜像应该遵循哪些原则?
答:整体远侧上,尽量保持镜像功能的明确和内容的精简,要点包括:
a、尽量选取满足需求但较小的基础系统镜像,建议选择 debian:wheezy 镜像,仅有 86MB 大小
b、清理编译生成文件、安装包的缓存等临时文件
c、安装各个软件时候要指定准确的版本号,并避免引入不需要的依赖
d、从安全的角度考虑,应用尽量使用系统的库和依赖
e、使用 Dockerfile 创建镜像时候要添加.dockerignore 文件或使用干净的工作目录
--------------------------------------------------------------------------------------------------
1、<阿里云>一个大型网站准备上线,时间非常紧急,需要在2天内完成2000台ECS的开通的环境部署,以下哪个功能可以帮客户解决困难?(C)
A、SSD
B、快照+OpenAPI
C、自定义镜像+OpenAPI
D、共享快照
2、<阿里云>阿里云的产品中负责负载均衡的产品是?(A)
A. SLB
B. ECS
C. OSS
D. RDS
3、<阿里云>弹性伸缩是否一定要搭配ECS使用?(A)
A. 否
B. 是
4、<阿里云>Aliyun Linux和以下哪个系统兼容?(D)
A. UBUNTU
B. OpenSUSE
C. windows server2008
D. Red Hat
5、<阿里云>小明是一个社交网站的架构师,创业初期用户量较少,每个注册客户上传的图片文件直接保存在了一台阿里云的云服务器 ECS 实例上。最近用户量爆增,图片存储的空间达到了 3.5T,WEB 服务器由原来的 1 台 ECS 实例扩展到了 5 台 ECS 实例,性能问题得到了解决,可是保存在 ECS 实例的图片无法在多台 ECS 之间共享读写。 阿里云的____A____产品非常适合解决这个问题。
A. 对象存储 OSS;
B. 负载均衡 SLB;
C. 归档存储(Archive Storage);
D. 内容分发网络 CDN;
6、<阿里云>您基于阿里云的云服务器ECS实例部署了Mysql数据库,随着业务量的不断上涨,您需要通过读写分离的方式来改善数据库的性能,可以采用阿里云的_____C_____产品来快速解决该问题。
A. 对象存储OSS
B. 本读SSD盘
C. 云数据库RDS
D. 表格存储
7、RED HAT LINUX 9默认使用的文件系统类型为(B)
A. ext2
B. ext3
C. FAT
D. swap
8、pwd与pwdx命令的区别是pwd用于查看进程的运行目录,pwdx用于查看当前目录(B)
A. 正确
B. 错误
9、在/etc/fstab 文件中指定的文件系统加载参数中,(D)参数一般用于CD-ROM 等移动设备。
A. Defaults
B. sw
C. rw 和ro
D. noauto
详解:default表示和使用默认设置 sw 表示自动挂载的可读写分区 ro 表示挂载只读权限的 rw 表示挂载读写权限的 所以选择D。表示手动挂载的,也用于CD-ROW等移动设备
10、系统平均负载考虑CPU和内存因素(A)
A. 正确
B. 错误
11、如何快速切换到用户Mary的主目录下?(D)
A. cd @Mary
B. cd #Mary
C. cd &Mary
D. cd ~Mary
12、/etc/shadow文件中存放(B)
A. 用户账号基本信息 /etc/passwd
B. 用户口令的加密信息
C. 用户组信息
D. 文件系统信息
13、linux系统中,通过哪个命令可以查看磁盘空间使用情况?(A)
A. df -h
B. du -sm
C. fdisk
D. fsck
14、除非特别指定,CP默认要拷贝的文件中在下面哪个目录下(D)
A. 用户目录
B. Home目录
C. Root目录
D. 当前目录
15、若当前目录为/etc,命令ls –l 将显示etc目录下的(D)
A. 所有文件
B. 所有隐含文件
C. 所有非隐含文件
D. 文件的具体信息
16、某文件的组外成员的权限未只读,所有者拥有全部权限,组内权限为读与写,则改文件的权限为(D)
A. 467
B. 674
C. 476
D. 764
17、当使用mount进行设备或者文件系统挂载的时候,需要用到的设备名称位于(D)目录
A. /home
B. /bin
C. /etc
D. /dev
18、卸载某个软件包,应使用(B)
A. rpm -i
B. rpm -e
C. rpm -q
D. rpm -v
19、linux系统中,更改文件权限,例如更改文件名test.txt权限为-rw-r-xr–,下面哪个命令是正确的(C)
A. chown 644 test.txt
B. chmod 655 test.txt
C. chmod 654 test.txt
D. chmod 655 test.txt
20、linux系统中,如何使用命令crontab查看当前用户下有哪些定时任务?(B)
A. crontab -e
B. crontab -l
C. crontab -r
D. crontab –s
21、docker环境下,如何无需进入docker从docker中拷贝文件到本地?(A)
A. docker cp 容器id:/root/.bashrc /tmp/
B. ftp
C. scp :/root/.bashrc /tmp
D. docker scp 容器id:/root/.bashrc /tmp/
22、如何查看容器abc的详细信息?(D)
A. Docker rmi -f‘docker images -q -a’
B. Docker stats 容器id
C. Docker top 容器id
D. Docker inspect abc
23、如何备份一个docker 镜像? (B)
A. docker backup
B. docker save
C. docker export
D. docker write
24、请判断查看容器的进程命令为“Docker top 容器id”是否正确(A)
A. 正确
B. 错误
25、如何运行一个zabbix 的镜像,并打开一个终端?(A)
A. docker r run -it zabbix bash
B. docker pull zabbix
C. docker search zabbix
D. docker inspect zabbix
26、docker如何停止所有正在运行的容器?(D)
A. sudo docker run IMAGE env
B. sudo docker rmi $(sudo docker images -q -f danging=true)
C. docker kill $(sudo docker ps -q)
D. docker kill $(sudo docker ps -a -q)
27、在使用mkdir命令创建新的目录时,在其父目录不存在时先创建父目录的选项是(D)
A. -m
B. -d
C. -f
D. -p
28、在使用docker create命令创建容器或使用docker run 创建并运行容器的时候。可以使用-m|–memory参数来调整容器使用内存的大小。(A)
A. 正确
B. 错误
29、用于将事务处理写到数据库的命令是( C )
A.insert
B.rollback
C.commit
D.savepoint
30、docker如何批量清理临时镜像文件?(B)
A. sudo docker run IMAGE env
B. sudo docker rmi $(sudo docker images -q -f danging=true)
C. docker kill $(sudo docker ps -q)
D. docker rm $(sudo docker ps -a -q)
31、容器具有数据持久化特性,无论进入容器进行什么样的更改,退出容器后再重新启动容器,里面数据不会丢失(A)
A. 对
B. 错
32、如何查看容器的统计信息?(B)
A. Docker rmi -f‘docker images -q -a’
B. Docker stats 容器id
C. Docker top 容器id
D. Docker inspect abc
33、Docker能在非Linux平台(Windows+MacOS)上运行(B)
A. 正确
B. 错误
34、docker本地的镜像文件都存放在哪里(A)
A. /var/lib/docker/目录下
B. /lib/docker/目录下
C. /var/docker/目录下
D. /var/libs/docker/目录下
35、容器退出后,使用docker ps命令无法查看到,说明容器被自动删除了?(B)
A. 对
B. 错
36、linux中vi打开文件后,若是想要从光标开始处向文件尾搜索test,该执行什么命令?(A)
A. /test
B. ?test
C. s/test
D. find/test
37、通过以下哪个命令可以查看当前网卡和网卡配置ip地址的情况?(B)
A. ipconfig -a
B. ifconfig -a
C. ip -a
38、请给出查看“cat”命令全路径的命令。(C)
A. where cat
B. find cat
C. which cat
D. search cat
39、shell中修改test.txt的23行test为tset的命令为(A)
A. sed –i ‘23s/test/tset/g’ test.txt
B. sed –i ‘n23s/test/tset/g’ test.txt
C. sed -l ‘n23s/test/tset/g’ test.txt
D. sed -a ‘23s/test/tset/g’ test.txt
40、在linux中,要查看文件内容,可用(A)命令。
A. more
B. cd
C. login
D. logout
41、usermod命令无法实现的操作是(B)
A. 账户重命名
B. 删除指定的账户和对应的主目录
C. 加锁与解锁用户账户
D. 对用户密码进行加锁或解锁
42、关于/etc/fstab文件的正确描述有(B)
A. 系统启动后,有系统自动生成
B. 用于管理文件系统信息
C. 用于设置命名规则,是否使用可以用tab命名一个文件
D. 保存硬件信息
43、shell查看test.txt的5到10行的命令为(C)
A. sed -i ‘5,10p’ test.txt
B. sed -n ‘5,10h’ test.txt
C. sed -n ‘5,10p’ test.txt
D. sed -i ‘5,10n’ test.txt
44、当字符串用单引号(’’)括起来时,SHELL将 (C)
A. 解释引号内的特殊字符
B. 执行引号中的命令
C. 不解释引号内的特殊字符
D. 结束进程
45、如何删除一个非空子目录 /tmp( B )
A. del /tmp/*
B. rm -rf /tmp
C. rm -Ra /tmp/*
D. rm –rf /tmp/*
二.多项选择题
1、<阿里云>OSS与自建存储对比有哪些优势? (ABCD)
A. 数据更可靠;
B. 存储能力强;
C. 系统更安全;
D. 服务可用性高;
2、数据库通常采用的备份方式有(AB)
A. 完全备份
B. 增量备份
C. 日志备份
D. 冗余备份
3、Linux操作系统中,下列哪些命令可以实现重启:(CDF)
A. shutdown -h
B. poweroff
C. reboot
D. shutdown -r
E. init 0
F. init 1
4、运维人员想要列出目录下的内容,而且需要cd到该目录下,操作者需要哪些权限?(AC)
A. 读
B. 写
C. 执行
D. 递归
5、以下说法正确的是(ABC)
A. zip命令中的“-m”选项表示压缩完成后删除源文件
B. unzip命令中的“-n”选项表示不覆盖已有的文件
C. tar命令中的“-u”选项表示更新文件
D. gzip命令中的“-l”选项表示显示文件名和压缩比
6、在服务器上安装linux安装系统并进行系统分区时,哪些分区是要进行分出的?(AC)
A. /
B. /usr
C. /swap
D. /proc
7、Linux系统中的常见的设备类型有哪些(AB)
A. 块设备
B. 字符设备
C. 流设备
D. 缓冲设备
8、以下的命令中哪些可以在日常工作中帮助运维人员查看分析网络故障?(ACD)
A. ping
B. init
C. telnet
D. netstat
9、以下哪些命令不能直接在test中显示以"*"开头的行?(ABC)
A. find * test
B. wc -l * < test
C. grep -n * test
D. grep ‘^*’ test
10、在linux中,shell环境都有哪些?(AD)
A. bash
B. ksh
C. csh
D. pdksh
11、linux系统上配置web服务器而且需要支持动态页面,需要安装的软件有哪些?(ABD)
A. Apache
B. MySQL
C. httpd
D. PHP
12、PaaS是Platform as a Service的首字母缩写,意为平台即服务,即把IT环境的平台软件层作为服务出租出去,下面属于该层的服务包含哪些?(ABC)
A. 中间件&运行库;
B. 数据库;
C. 操作系统;
D. 应用软件;
13、docker命令以下哪些为高危操作(A)
A. docker rm 容器id
B. docker inspect 容器ID
C. docker mv 容器ID
D. docker rm -f 镜像ID
14、docker网络模式包括(ABCD)
A. host模式
B. container模式
C. none模式
D. bridge模式
15、docker容器与主机之间的数据拷贝命令是?(CD)
A. docker pc /www 96f7f14e99ab:/www/
B. docker cp /www 96f7f14e99ab:/www/
C. docker cp 96f7f14e99ab:/www /www/
D. docker cp 96f7f14e99ab:/www /tmp/
16、如何启动本机Docker 服务(A)
A. $ sudo systemctl start docker
B. $ docker version
C. $ sudo service docker start
D. $ docker info
17、Docker 的主要用途有(ABC)
A. 提供一次性的环境
B. 提供弹性的云服务
C. 组建微服务架构
D. 提供存储服务
18、以下哪些命令能构建一个镜像?(ABD)
A. docker create
B. docker commit
C. docker add
D. docker build
19、docker进入容器的方法有哪些?(CD)
A. 使用 docker attch 命令
B. 使用 exit 命令
C. 使用 docker attach 命令
D. 使用 docker exec 命令
20、有关docker正确的是(ABC)
A. docker info 可以查看到集群内容器的数量
B. docker ps 容器ID(参数 -a:显示所有容器,包括未运行的;-n:列出最近创建的n个容器)
C. docker pause 暂停容器中所有的进程
D. docker create创建一个新的容器并且启动它
21、net选项后面可以跟哪些参数?(ABC)
A. None
B. host
C. bridge
D. Btrfs
22、Docker的核心组件有哪些?(ACD)
A. 镜像
B. 虚拟机
C. 容器
D. 仓库
三. 简单题
请给出查看当前默认网关和其它路由表的信息的命令。
netstat -rn
请给出查看/var目录下每个文件/文件夹的大小的命令。
du -sk /var/*
请给出将“sleep 1500“命令放在后台执行的命令,并给出查询该后台命令Pid,然后kill掉该命令的方法和命令。(8分)
nohup sleep 1500 &
kill -9 ps -ef|grep 1500|grep -v 'grep'|awk '{print $2}'
or分步操作也可以
请给出”su oracle” 和”su - oracle”的区别。
“-”代表:开启新的shell环境,切换到新用户并且读取新用户的环境变量
没有“-” 不开启新的shell环境,保持老用户的环境变量,仅仅切换用户
请给出将test1,test2,test3三个文件打包成test.tar的文件的命令,并给出查看test.tar打包信息的命令,并给出解压test.tar文件的命令。
tar -cvf test.tar tes1 test2 test3 打包
tar -tvf test.tar 查看
tar -xvf test.tar 解包
Docker面试题
1.什么是docker?
docker是一个容器化平台,它以容器的形式将你的应用程序及其所有依赖包打包在一起,以确保你的应用程序在任何环境中无缝运行。
2.docker与虚拟机的不同点在哪里?
docker不是虚拟化方法。它依赖于实际实现基于容器的虚拟机的其他工具。为此,docker最初使用LXC驱动程序,然后到libcontainer现在重命名为runc.docker主要专注于在应用程序容器内自动部署应用程序。应用程序容器旨在打包和运行单个服务,而系统容器则设计为运行多个进程,如虚拟机。因此,docker被视为容器化系统上的容器管理或应用程序部署
3.dockers容器有几种状态
有四种:运行、已暂停、重新启动、已退出
4.dockerfile中常见的指令是什么
FPRON: 指定基础镜像; LABEL: 功能是为镜像指定标签: RUN:运行指定的命令: CMD:容器启动时要运行的命令。
5.Dockerfile中的命令COPY和ADD命令有什么区别?
一般而言。虽然ADD并且COPY在功能上类似。但是首选COPY。
那是因为它比ADD更易懂,COPY仅支持将本地文件复制到容器中,而ADD具有一些功能(如仅限本地的ter提取和远程URL支持),这些功能并不是很明显。因此,ADD的 最佳用途是将本地tar文件自动提取到镜像中,如ADD rootfs.tar.xz /。
6.什么是Docker镜像?
Docker镜像是Docker容器的源代码。换句话说,Docker镜像用于创建容器,使用build命令创建镜像。并且在使用run启动时它们将生成容器。镜像存储在Docker注册表中。registry. hub. docker. com因为它们可能变得非常大。镜像被设计为由其他镜像组成,允许在通过网络传输镜像时发送最少量的数据。
7.解释基本的Docker使用工作流程局怎样的?
(1)从Dockerfile开始,Dockerfil+是镜像的源代码
(2)创建Dockerfile后,可以构建它以创建容器的镜像。图像只是“源代码”的“编译版本”,即Dockerfile. (3)获得容器的镜像后,应使用注册表重新分发容器。注册表就像一个git存储库。 可以推送和拉取镜像:接下来。可以使用该图像来运行容器。在许多方面,正在运行的容器与虚拟机(但没有虚报机管理程序)非常相似。
8.如何在生产中监控Docker?
答。Docker提供docker stats和docker事件等工具来监控生产中的Docker.我们可以使用这些命令获取重要统计数据的报告。
Docker统计数据:当我们使用容器ID调用docker stats时,我们获得容器的CPU,内存使用情况等。它类似于Linux中的top命令。
Decker事件: Docker事件 是一个命令,用于查看Docker守护程序中正在进行的活动流,一些常见的Docker事件是: attach, commit. die. detach, renane, destroy等。
9、Docker如何在非Linux系统中运行容器?
通过添加到Linex内核版本2.6. 24的名称空间功能,可以实现容器的概念。容器将其ID部加到每个进程。并向每个系统调用添加新的访间控制检查。它由clone ()系统调用访局,该调用允许创建先前全局命名空间的单独实例。
10.什么类型的应用程序无状态或有状态更适合Docker容器?
最好为Docker. Container创建无状态应用程序.我们可以从应用程序中创建一个容器,并从应用程序中取出可配置的状态参数。现在我们可以在生产环境和具有不同参数的QA环境中运行相同的容器。这有助于在不同场景中重用相同的镜像。另外,无状态应用程序比有状态应用程序更容易使用Docker容器进行扩展。
评论0
暂时没有评论